Wie kopiere ich Einfügen als Roh-CSV aus einer formatierten CSV-Datei mit LibreOffice Calc?

1

Gegeben eine rohe CSV-Datei:

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

Libre Office Calc-Textimport mit Trennzeichen und Texttrennzeichen

Wenn ich dieses mit diesen Einstellungen in Libre Office öffne, kann ich es gut anzeigen. Wenn ich jedoch das gesamte Dokument erneut auswähle und kopiere, enthält die Zwischenablage Folgendes:

foo  bar
buzz    quoted string

Ich hatte erwartet, dass die Zwischenablage die rohe CSV wieder herstellt.


Das Beispiel ist sehr ausgeklügelt, aber der Hintergrund ist, dass ich nur einen Teil eines größeren CSV exportieren möchte, ohne per Cherry-Picking sedoder mit

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

Ich verwende gerne LibreOffice Calc, da es eine nette Filterfunktion bietet Data > Autofilter, die es mir erleichtert, die Linien zu finden, die ich verwenden möchte. Es ist jedoch nicht so einfach, diese Auswahl zu treffen.

Ich werde die kleinere Datei zum Einrichten eines Komponententests verwenden, weshalb ich das Format der CSV-Datei nicht ändern möchte, auch wenn es bei einem richtigen CSV-Parser höchstwahrscheinlich nicht anders aussieht.

Ziel des Unit-Tests ist es, sicherzustellen, dass das tatsächliche Format korrekt analysiert wird, und ich möchte nicht das Verständnis von LibreOffice für eine CSV-Datei in Frage stellen.

Wie kann ich die Rohformatierung beim Kopieren aus einer CSV-Datei in LibreOffice Calc beibehalten?

k0pernikus
quelle

Antworten:

1

Verwenden Sie anstelle von Autofilter Daten -> Weitere Filter -> Standardfilter und kopieren Sie die Ergebnisse in Sheet2.

Standardfilter

Gehen Sie dann von Sheet2 zu Datei -> Speichern unter mit Typ Text CSV, um die folgende Datei zu erstellen.

foo,bar

Dies ist eine etwas andere Formatierung als das Original. Wenn es genau dasselbe sein muss, ist LO Calc nicht das richtige Werkzeug. Verwendung sedoder ähnliches.

Jim K
quelle