Skip to content

Commit 41b68f0

Browse files
author
fillol
committed
CSV reading function implemented
1 parent d847280 commit 41b68f0

File tree

6 files changed

+618
-16
lines changed

6 files changed

+618
-16
lines changed

CSV/read.go

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package CSV
2+
3+
import (
4+
"encoding/csv"
5+
"github.com/Darklabel91/CNJ_Validate/Error"
6+
"os"
7+
)
8+
9+
func ReadCsvFile(filePath string, separator rune) []string {
10+
var data []string
11+
12+
csvFile, err := os.Open(filePath)
13+
Error.CheckError(err)
14+
15+
defer func(csvFile *os.File) {
16+
err0 := csvFile.Close()
17+
Error.CheckError(err0)
18+
}(csvFile)
19+
20+
csvLines := csv.NewReader(csvFile)
21+
csvLines.Comma = separator
22+
csvData, err1 := csvLines.ReadAll()
23+
Error.CheckError(err1)
24+
25+
for _, line := range csvData {
26+
emp := line[0]
27+
data = append(data, emp)
28+
}
29+
30+
return data
31+
}

CSV/write.go

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
package CSV
2+
3+
import (
4+
"encoding/csv"
5+
"github.com/Darklabel91/CNJ_Validate/Error"
6+
"github.com/Darklabel91/CNJ_Validate/Structs"
7+
"os"
8+
"path/filepath"
9+
"strconv"
10+
)
11+
12+
func create(p string) (*os.File, error) {
13+
if err := os.MkdirAll(filepath.Dir(p), 0770); err != nil {
14+
return nil, err
15+
}
16+
return os.Create(p)
17+
}
18+
19+
func ExportCSV(nameFile string, nameFolder string, cnj []Structs.AnalysisCNJ) {
20+
var empData [][]string
21+
22+
head := []string{"CNJ_original", "CNJ_e_válido", "CNJ_válido", "Dígito_Verificador_Válido", "Segmento", "Segmento_short", "Tipo_Unidade_Judiciária", "Número_Unidade_Judiciária", "Nome_Unidade_Judiciária", "Tipo_Região", "Número_Região", "Nome_Região", "Número_Processo", "Dígito_Verificador", "Ano Protocolo", "Poder Judiciário", "Região", "Unidade Judiciária"}
23+
empData = append(empData, head)
24+
25+
for i := 0; i < len(cnj); i++ {
26+
bl := strconv.FormatBool(cnj[i].ValidCNJ)
27+
final := []string{
28+
cnj[i].ReceivedCNJ,
29+
bl,
30+
cnj[i].CorrectCNJ,
31+
cnj[i].ValidDigit,
32+
cnj[i].Segment1,
33+
cnj[i].Segment2,
34+
cnj[i].SourceUnit1,
35+
cnj[i].SourceUnit2,
36+
cnj[i].Detailed.District,
37+
cnj[i].Court1,
38+
cnj[i].Court2,
39+
cnj[i].Detailed.UF,
40+
cnj[i].Detailed.LawsuitNumber,
41+
cnj[i].Detailed.VerifyingDigit,
42+
cnj[i].Detailed.ProtocolYear,
43+
cnj[i].Detailed.Segment,
44+
cnj[i].Detailed.Court,
45+
cnj[i].Detailed.SourceUnit,
46+
}
47+
empData = append(empData, final)
48+
}
49+
50+
csvFile, _ := create(nameFolder + "/" + nameFile + ".csv")
51+
csvWriter := csv.NewWriter(csvFile)
52+
53+
for _, empRow := range empData {
54+
_ = csvWriter.Write(empRow)
55+
}
56+
csvWriter.Flush()
57+
err := csvFile.Close()
58+
Error.CheckError(err)
59+
}

0 commit comments

Comments
 (0)