
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 cut
herramienta 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-2
seleccionará 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.