Como padronizar este arquivo CSV fora do padrão para a Weka?

0

Eu insiro os dados no serviço csvlint.io porque eu recebo o erro 22 Problem encountered on line 2 no Weka ao tentar importar o arquivo CSV caminho.

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

Mensagem de erro semelhante está no thread Não reconhecido como um arquivo csv no Weka que eu tenho antes resolvido inserindo o arquivo dados no LibreOffice, autofixando lá e salvando como CSV, mas eu gostaria de encontrar uma solução de linha de comando lá. Eu recebo o seguinte aviso no serviço csvlint.io de lá, embora eu tenha gerado Data no Debian 9.

Structural problem: Non-standard Line Breaks on row 1

Your CSV appears to use LF line-breaks. While this will be fine in most cases, RFC 4180 specifies that CSV files should use CR-LF (a carriage-return and line-feed pair, e.g. \r\n). This may be labelled as "Windows line endings" on some systems.

Dados

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

Para remover o espaço em branco horizontal, você pode executar tr -d "[:blank:]" nos dados, mas isso não será necessário. Eu acho que as terminações de linha não são um problema aqui porque corrigir o arquivo com dos2unix ou unix2dos (meuh) não resolve o problema.

OS: Debian 9

    
por Léo Léopold Hertz 준영 25.07.2017 / 19:25

1 resposta

0

Cas 'answer in comment

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
    
por 15.09.2017 / 16:40

Tags