Как скопировать вставку в формате raw csv из отформатированного файла csv с помощью LibreOffice Calc?

454
k0pernikus

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

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

Libre office calc text import with separator and text delimiter set

Если я открою этот файл в 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
Jim K

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

standard filter

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

foo,bar 

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