Como preencher células vazias de um arquivo csv com 0 e remover células onde não há cabeçalho?

0

Eu quero importar um arquivo csv realmente repugnante com células vazias e células sem cabeçalhos para o banco de dados Cassandra. Eu tentei

O seguinte comando de linuxconfig.org :

#!/bin/bash

for i in $( seq 1 2); do
  sed -e "s/^,/$2,/" -e "s/,,/,$2,/g" -e "s/,$/,$2/" -i $1
done

Mas parece que não funcionou quando o apliquei

bash fill-empty-values.sh bouffe500.csv 0

Eu não usei chmod +x .

Aqui está uma imagem de bouffe500.csv depois de aplicar o script, ele permanece em campos vazios:

Eu achei que os campos vazios criaram problemas quando tentei importar o arquivo csv para o Cassandra e ele me respondeu:

cqlsh:k1> COPY k1.bouffe FROM 'bouffe_v2.csv' WITH HEADER=true;
Using 3 child processes

Starting copy of k1.bouffe with columns [code, additives, additives_fr, ...
...
Failed to import 1 rows: ParseError - Invalid row length 112 should be 163,  given up without retries
Failed to import 7 rows: ParseError - Invalid row length 60 should be 163,  given up without retries
Failed to import 1 rows: ParseError - Invalid row length 74 should be 163,  given up without retries
Failed to import 2 rows: ParseError - Invalid row length 32 should be 163,  given up without retries
Failed to import 5 rows: ParseError - Invalid row length 31 should be 163,  given up without retries
Failed to import 1 rows: ParseError - Invalid row length 85 should be 163,  given up without retries
Failed to import 1 rows: ParseError - Invalid row length 111 should be 163,  given up without retries
Failed to import 3 rows: ParseError - Invalid row length 81 should be 163,  given up without retries
Failed to process 499 rows; failed rows written to import_k1_bouffe.err
Processed: 499 rows; Rate:     801 rows/s; Avg. rate:    1211 rows/s
499 rows imported from 1 files in 0.412 seconds (0 skipped).
cqlsh:k1> SELECT * from bouffe;
    
por ThePassenger 02.12.2017 / 17:10

0 respostas

Tags