1

Имеется необработанный CSV-файл:

$ cat foo.csv 
foo, bar
buzz, "quoted string"

Импорт текста Libre Office Calc с разделителем и разделителем текста

Если я открою этот файл в Libre Office с этими настройками, я смогу его просмотреть. Тем не менее, если я снова выберу весь документ и скопирую его, буфер обмена содержит:

foo  bar
buzz    quoted string

Я ожидал, что буфер обмена снова восстановит raw csv.


Пример очень надуманный, но фон в том, что я хочу экспортировать только часть дроби из большего CSV без необходимости выбирать вишню через sed или используя

head -n 1 > example.csv
cat large.csv | grep SOME_CODE >> example.csv // sometimes the filter is not as easy

Мне нравится использовать LibreOffice Calc, поскольку он предлагает хорошую функцию фильтрации через Data > Autofilter позволяющую легко находить строки, которые я хочу использовать. Однако извлечь этот выбор не так просто.

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

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

Как сохранить форматирование в необработанном виде при копировании из файла CSV в LibreOffice Calc?

1 ответ1

1

Вместо автофильтрации используйте « Данные» -> «Другие фильтры» -> «Стандартный фильтр» и скопируйте результаты в Sheet2.

стандартный фильтр

Затем из Sheet2 перейдите в File -> Save As с типом Text CSV чтобы создать следующий файл.

foo,bar

Это немного отличается от оригинала. Если он должен быть точно таким же, то LO Calc - не правильный инструмент. Используйте sed или подобное.

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