Удалить столбец из CSV

Удалить столбец из CSV

У меня есть CSV-файл в формате

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

Я хочу удалить третий столбец, который не имеет фиксированного размера. Я пробовал с

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

Но он работает некорректно. Любая помощь приветствуется.

решение1

Инструмент cutнедостаточно умен, чтобы понять, что запятые в третьем столбце не являются разделителями.

Однако вы можете выбрать диапазон столбцов: в этом случае -f1-2будут выбраны столбцы с 1 по 2, тем самым исключив столбец 3.

Однако для общей обработки CSV вам понадобится более мощный парсер, например, те, что есть в скриптовых языках, таких как Python и Perl.

Связанный контент