4

У меня есть файл данных CSV, который выглядит следующим образом

1,2,3

5,6,7

Я открываю его в Excel 2010, делаю некоторые изменения (изменяю какое-то значение, удаляю столбец или что-то еще), а затем снова сохраняю файл как csv. Но теперь данные становятся

1,2,3
,,
5,6,7

где пустая строка в середине теперь заполнена рядом пустых полей, разделенных запятой. Я знаю, что в этом примере разница не так уж и велика, но это действительно раздражает, когда у меня есть код для работы с этими двумя различными форматами. Есть ли способ остановить Excel от изменения формата? Или есть другая программа, я могу легко редактировать CSV-файл?

3 ответа3

1

CSV-файлы могут быть отредактированы с помощью блокнота или любого простого текстового редактора

1

Пустая строка в файле CSV означает, что он не соответствует синтаксису, который используется в большинстве - если не во всех - реализациях CSV. Вы можете прочитать об этом в RFC 4180:

Каждая строка должна содержать одинаковое количество полей в файле.

То, что выводит Excel, на самом деле является правильным представлением пустой строки, поскольку файл CSV всегда имеет одинаковое количество столбцов. Вы не сможете использовать другой редактор CSV, так как все они будут либо выводить стандартизированный формат CSV, либо даже не смогут правильно прочитать ваш файл. Они могут пропустить пустую строку или вывести ее как Excel.

Вот несколько возможных решений:

  • Вы не можете изменить способ, которым Excel сохраняет файлы CSV. Если вы хотите разбить бабочку на колесе, вам нужно написать код VBA, чтобы вручную экспортировать ваш файл.

  • Измените исходные файлы CSV, чтобы они не содержали пустых строк.

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

  • Измените свой код для работы с представлением Excel и, следовательно, следуйте стандартам, установленным для CSV. Просто обработайте строку с пустыми полями как пустую.

  • Измените файлы CSV в любом текстовом редакторе (Блокнот и т.д.), Чтобы удалить ошибочные строки.

0

Вам нужно открыть пустой Excel и использовать опцию импорта из текста на вкладке ДАННЫЕ.

Там у вас будет мастер импорта, где вы сможете выбрать кодификацию, разделители и формат каждого столбца перед импортом.

После редактирования вы можете сохранить как CSV.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .