Eliminar una columna de un CSV

Eliminar una columna de un CSV

Tengo un archivo csv que tiene el formato 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))"

Quiero eliminar la tercera columna que no tiene un tamaño fijo. Lo intenté con el

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

Pero no funciona bien. Se agradece cualquier ayuda.

Respuesta1

La cutherramienta no es lo suficientemente inteligente como para darse cuenta de que esas comas en la tercera columna no son delimitadores.

Sin embargo, puede seleccionar un rango de columnas: en este caso -f1-2seleccionará las columnas 1 a 2, excluyendo así 3.

Sin embargo, para el procesamiento general de CSV se necesita un analizador más potente, como los que se encuentran en lenguajes de programación como Python y Perl.

información relacionada