Entfernen einer Spalte aus einer CSV

Entfernen einer Spalte aus einer CSV

Ich habe eine CSV-Datei in der Form

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

Ich möchte die dritte Spalte entfernen, deren Größe nicht festgelegt ist. Ich habe es mit dem

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

Aber es funktioniert nicht richtig. Jede Hilfe ist willkommen.

Antwort1

Das cutTool ist nicht intelligent genug, um zu erkennen, dass die Kommas in der dritten Spalte keine Trennzeichen sind.

Sie können jedoch einen Spaltenbereich auswählen: In diesem Fall -f1-2werden die Spalten 1 bis 2 ausgewählt und Spalte 3 ausgeschlossen.

Für die allgemeine CSV-Verarbeitung benötigen Sie jedoch einen leistungsfähigeren Parser, wie er beispielsweise in Skriptsprachen wie Python und Perl zu finden ist.

verwandte Informationen