Weka用の非標準CSVファイルをどのように正規化できますか?

Weka用の非標準CSVファイルをどのように正規化できますか?

サービスにデータを挿入します。csvlint.io22 Problem encountered on line 2WekaからCSVファイルをインポートしようとすると、次のエラーが発生するためです。

`java -jar weka.jar` > Explorer > 
    Preprocess > Open file > [select file format CSV] 
    > [Choose CSV file]

スレッドの同様のエラーメッセージWekaではcsvファイルとして認識されません。以前にLibreOfficeにデータを挿入して自動的に変更した後、CSVとして保存してこの問題を解決したことがありますが、そこでコマンドラインソリューションを探したいと思います。次の警告が表示されます。csvlint.ioそこからサービスを作成しましたが、データDebian 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)でファイルを回復しても問題は解決しないからです。

オペレーティングシステム:Debian 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

おすすめ記事