Remover uma coluna de um CSV

Remover uma coluna de um CSV

Eu tenho um arquivo csv que está no formato

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))"

Quero remover a terceira coluna que não tem tamanho fixo. Eu tentei com o

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

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

Responder1

A cutferramenta não é inteligente o suficiente para descobrir que as vírgulas na terceira coluna não são delimitadores.

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

No entanto, para o processamento geral de CSV, você precisa de um analisador mais poderoso, como aqueles encontrados em linguagens de script como Python e Perl.

informação relacionada