Remover uma coluna de um arquivo CSV

1

Eu tenho um arquivo csv que está em uma forma de

input.csv

1,AREA,"POLYGON((103.855 1.27267,103.856 1.27316,103.851 1.27506,103.853 1.27941,103.853 1.2793,103.852 1.27879,103.852 1.27639,103.851 1.27624,103.851 1.27634,103.851 1.27661,103.851 1.27699,103.852 1.27985,103.852 1.28138,103.853 1.28188,103.853 1.28189,103.853 1.28058,103.853 1.28044,103.853 1.28048,103.853 1.28084,103.853 1.28206,103.853 1.28216,103.853 1.28205,103.853 1.28205,103.854 1.28196,103.854 1.28209,103.855 1.28141,103.855 1.2813,103.855 1.28086,103.856 1.28001,103.859 1.28528,103.859 1.28555,103.859 1.28556,103.859 1.28586,103.859 1.28587,103.859 1.28629,103.859 1.28662,103.859 1.28669,103.87 1.28157,103.873 1.27787,103.871 1.27586,103.863 1.26996,103.862 1.26924,103.861 1.2689,103.86 1.26869,103.859 1.26884,103.858 1.26921,103.856 1.2702,103.855 1.27088,103.856 1.27227,103.855 1.27253,103.851 1.27428,103.852 1.2739,103.855 1.27267))"

Eu quero remover a terceira coluna que não é fixa em tamanho. Eu tentei com o

cut -d, -f3 --complement input.csv

Mas não está funcionando bem. Qualquer ajuda é apreciada.

    
por joker21 19.12.2016 / 02:43

1 resposta

4

A ferramenta cut não é inteligente o suficiente para descobrir que essas vírgulas na terceira coluna não são delimitadores.

No entanto, você pode selecionar um intervalo de colunas: nesse caso, -f1-2 selecionará as colunas de 1 a 2, excluindo, portanto, 3.

No entanto, para o processamento geral de CSV, é necessário um analisador mais eficiente, como os encontrados em linguagens de script, como Python e Perl.

    
por 19.12.2016 / 02:53