Created
February 27, 2020 08:41
-
-
Save g00cey/7ab654dfd1fbbee1af2537722bcc344b to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"encoding/csv" | |
"fmt" | |
"os" | |
"strconv" | |
) | |
// Order 取引 | |
type Order struct { | |
date string | |
money int | |
line int | |
content string | |
regtype string | |
} | |
func main() { | |
file, err := os.Open("仕訳帳 (2019年01月_2019年12月).csv") | |
if err != nil { | |
panic(err) | |
} | |
defer file.Close() | |
reader := csv.NewReader(file) | |
var line []string | |
var order []Order | |
var lineNum int = 0 | |
for { | |
line, err = reader.Read() | |
if err != nil { | |
break | |
} | |
var money, _ = strconv.Atoi(line[3]) | |
lineNum++ | |
order = append(order, Order{date: line[1], money: money, line: lineNum, content: line[15], regtype: line[2]}) | |
} | |
for _, dupOrder := range GetDuplicateData(order) { | |
fmt.Println(dupOrder) | |
} | |
} | |
// GetDuplicateData 重複行を返却 | |
func GetDuplicateData(orders []Order) []Order { | |
var duplicateOrder []Order | |
for _, order1 := range orders { | |
for _, order2 := range orders { | |
if order1.line != order2.line && | |
(order1.date == order2.date && order1.money == order2.money && order1.content == order2.content && order1.regtype == order2.regtype) { | |
duplicateOrder = append(duplicateOrder, order1) | |
} | |
} | |
} | |
return duplicateOrder | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment