서비스에 데이터를 삽입합니다.csvlint.io22 Problem encountered on line 2
Weka에서 CSV 파일을 가져오려고 할 때 다음과 같은 오류가 발생하기 때문입니다.
`java -jar weka.jar` > Explorer >
Preprocess > Open file > [select file format CSV]
> [Choose CSV file]
스레드의 유사한 오류 메시지Weka에서 csv 파일로 인식되지 않습니다.이전에 LibreOffice에 데이터를 삽입하고 자동으로 수정한 후 CSV로 저장하여 이 문제를 해결한 적이 있지만 거기에서 명령줄 솔루션을 찾고 싶습니다. 다음 경고가 표시됩니다.csvlint.io거기에서 서비스를 생성했지만데이터데비안 9에서.
구조적 문제: 라인 1의 비표준 개행 문자
CSV에서 LF 줄 바꿈을 사용하는 것 같습니다. 대부분의 경우에는 문제가 없지만 RFC 4180에서는 CSV 파일이 CR-LF(캐리지 리턴 및 줄 바꿈 쌍(예: \r\n))을 사용해야 한다고 지정합니다. 일부 시스템에서는 "Windows Line Endings"라고 표시될 수 있습니다.
데이터
Ni, Aika, Aika_l, Un, Unen, Unen_kesto, Uniluokat_R, Uniluokat_k, Uniluokat_s, HRV_RMSSD_a, HRV_RMSSD_i, Kokonaisp, Palautumisen_k, Hermoston_t, Syke_ave_m, Syke_a, Syke_l, Hengitystiheys_ave_m, Hengitystiheys_a, Hengitystiheys_min_a, Liikeaktiivisuus_l, Liikeaktiivisuus_a, Paivamaara_l
"Masi", 23072010-2200+0300, 24072010-0600+0300, 70, 7h40, 6h30, 1h40, 3h40, 1h10, 67.0, 43.0, 24.0, 430, 30, 70, 50, 40, 20, 10, 10, 150, 260, 24.10.2010
"Masi", 23072010-2200+0300, 24072010-0600+0300, 70, 7h40, 6h30, 1h40, 3h40, 1h10, 67.0, 43.0, 24.0, 430, 30, 70, 50, 40, 20, 10, 10, 150, 260, 24.10.2010
수평 간격을 제거하기 위해 tr -d "[:blank:]"
데이터를 실행할 수 있지만 반드시 그럴 필요는 없습니다. 나는 줄 끝이 여기서 문제라고 생각하지 않습니다. 왜냐하면 dos2unix
또는 unix2dos
(meuh)로 파일을 복구해도 문제가 해결되지 않기 때문입니다.
운영 체제: 데비안 9
답변1
댓글에서 Cas의 답변
awk -F', ' -v OFS=, '{gsub(" ",",",$3)}; NR==1 {$1=$1;print}; NR > 1 {split($22,a,"."); $22 = a[3]"-"a[2]"-"a[1]; print }' data.csv