У меня есть файл CSV, который выглядит следующим образом:Добавление нового столбца в CSV файл
"12345","TestTest","1.2","TestTest
"
Я хочу добавить дату, такие как YYYY-MM-DD HH: MM: SS или к началу или конец файла CSV. Как видно из приведенного выше примера, двойная кавычка («) заключает в себя значения в столбцах, а запятая (,) определяет каждый столбец. Проблема заключается в том, что двойная кавычка в конце строки всегда находится на новой строке. Это означает, что когда я пытался использовать sed для поиска/замены на основе одной двойной кавычки, моя замена заканчивается не только в начале строки, но и в конце строки.
My next теория заключается в том, что можно использовать некоторый инструмент (sed, awk, whatever) для добавления в дату только тогда, когда начало строки CSV - это двойная кавычка и число, то есть: «12345», поэтому новая строка выглядит так:
"YYYY-MM-DD HH:MM:SS","12345","TestTest","1.2","TestTest
"
ПРИМЕЧАНИЕ. Эта команда, которую вы предлагаете, должна применять это изменение к e очень строка в CSV-файле. Это также необходимо запустить с помощью командной строки linux.
Спасибо,
Можно ли выбрать одно из полей столбца? В моем CSV есть 13 полей. Можете ли вы заставить sed подсчитать количество (,) разделителя и вставить его в 5-й столбец против начала или конца? – Alby
Я отредактировал свой ответ, но вы должны использовать 'awk' для работы с csv-файлами. – SLePort
Спасибо. Использование sed для вставки моих данных в несколько колонок - это волшебство, в котором я нуждался. – Alby