mikrocontroller.net

Forum: PC Hard- und Software libreoffice: Konvertieren von Tabellenkalkulation nach CSV *MIT* anderer Zeichencodierung


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von earbsenzaehler (Gast)


Bewertung
0 lesenswert
nicht lesenswert
hallo EDV-kenner,

ich habe als Datenbasis eine wachsende Anzahl 
Tabellenkalkulationsdateien (bereits ueber Hundert, es kommen alle paar 
Tage weitere hinzu) welche weiter zu verarbeiten ist und zwar als CSV 
mit UTF-8 Zeichencodierung.

Bisher konvertiere ich in 2 Schritten:
$ localc  --convert-to csv  data*.xlsx
func=xmlSecCheckVersionExt:file=xmlsec.c:line=188:obj=unknown:subj=unknown:error=19:invalid version:mode=abi compatible;expected minor version=2;real minor version=2;expected subminor version=25;real subminor version=26
convert /path/to/file/data*.xlsx -> /path/to/file/data*.csv using filter : Text - txt - csv (StarCalc)
:
[snip]
:
$
$ iconv  -f 8859_1  -t utf8  data*.csv  >  alldata_UTF8.csv
$

Offensichtlich kann LO mehr bei "--convert-to", zumindest steht es so 
bei
* 
<https://wiki.openoffice.org/wiki/Documentation/DevGuide/Spreadsheets/Filter_Options#Token_7.2C_csv_export>;

Das macht mir Hoffnung, die konversion und die ZeichenUMcodierung in 
einem einzigen Schritt machen zu koennen.


PROBLEM

Alle meine Versuche bei "--convert-to csv:XXX", nach dem Doppelpunkt 
IRGENDWAS auszuprobieren ergeben KEINE Ausgabedatei und z.B. folgende 
Fehlermeldung:
$ localc  --convert-to "csv:44,34,UTF8,1,1/1"  data*.xlsx 
func=xmlSecCheckVersionExt:file=xmlsec.c:line=188:obj=unknown:subj=unknown:error=19:invalid version:mode=abi compatible;expected minor version=2;real minor version=2;expected subminor version=25;real subminor version=26
convert /path/to/file/data*.xlsx -> /path/to/file/data*.csv using filter : 44,34,UTF8,1,1/1
Overwriting: /path/to/file/data*.csv
Error: Please verify input parameters... (SfxBaseModel::impl_store <file:///path/to/file/data*.csv> failed: 0x81a)
$ 

FRAGE

Wer der geschaetzen Spezis kann hier mehr nutzbringende Info zu 
"--convert-to CSV:XXX" beisteuern?

In einem ersten Schritt waere mir ein beliebiges, UEBERHAUPT 
funktionierendes Beispiel schon mal recht.

(Den weiteren Schritt, mein spezifischer Fall auszuknobeln, sollte ich 
dann selber schaffen ...glaube ich zumindest!)



PS:
Die Wichtigkeit der Details zum Hinweis "...invalid version...real 
version... expected version" kann ich nicht einschaetzen.
Die genaue Bedeutung von Fehlercode 0x81a auch nicht.
$ lsb_release -a
LSB Version:  core-9.20170808ubuntu1-noarch:printing-9.20170808ubuntu1-noarch:security-9.20170808ubuntu1-noarch
Distributor ID:  Ubuntu
Description:  Ubuntu 18.04.3 LTS
Release:  18.04
Codename:  bionic
$ 
$ localc --version
LibreOffice 6.0.7.3 00m0(Build:3)

$

von Yalu X. (yalu) (Moderator)


Bewertung
1 lesenswert
nicht lesenswert
So funktioniert es bei mir (LibreOffice 6.3.3.2.0+):
localc --convert-to "csv:Text - txt - csv (StarCalc):44,34,76" data.xlsx

Die dafür benötigten Informationen habe ich hier gefunden:

  https://wiki.openoffice.org/wiki/Documentation/DevGuide/Spreadsheets/Filter_Options

: Bearbeitet durch Moderator
von earbsenzaehler (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Yalu X. schrieb:
> So funktioniert es bei mir (LibreOffice 6.3.3.2.0+):
>
>
> localc --convert-to "csv:Text - txt - csv (StarCalc):44,34,76" data.xlsx
> 
>
> Die dafür benötigten Informationen habe ich hier gefunden:
>
> 
https://wiki.openoffice.org/wiki/Documentation/DevGuide/Spreadsheets/Filter_Options


Wunderbar, Danke!  Das funzt bei mir genau so.


Interessant finde ich dass "csv" UND "Text - txt - csv (StarCalc)" 
anzugeben sind. DA drauf waere ich nicht gekommen weil ich es als 
redundant empfinde.

Sowohl auf der verlinkten Seite (die gab ich auch schon an) wie in der 
man-page zu localc ist gar kein Beispiel mit 2x ':' zu finden.
--> auf sowas waere ich noch lange nicht gekommen...


Es gibt ja bereits jahrealte BugReports zu soffice/ooffice/loffice, 
welche bemaengeln dass eine Liste an gueltigen Werte fuer 
"output_filter_name" gar nicht abzurufen ist. Entspr. auch vollstaendige 
Beispiele f. mehr als "Trivialfaelle".

von earbsenzaehler (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Interessant auch der Satz: "This filter accepts an option string 
containing five to nine tokens[...]"
Es reichen offensichtlich auch nur deren 3 (!)

Namentlich "Field Separator (1)" "Text Delimiter (2)" "Character Set 
(3)".

x x x x x


Wenn ich nun einen Schritt weiter gehe mit einem weiteren Token fuer 
"Number of First Line (4)", bekomme ich bloss eine Ergebnisdatei mit 
gleich vielen Zeilen.
Den Einfluss den ich festellen kann betrifft dann das Quoting...
$ localc --convert-to "csv:Text - txt - csv (StarCalc):44,34,76" data.xlsx

vs.

$ localc --convert-to "csv:Text - txt - csv (StarCalc):44,34,76,6" data.xlsx

von Yalu X. (yalu) (Moderator)


Bewertung
0 lesenswert
nicht lesenswert
earbsenzaehler schrieb:
> Interessant finde ich dass "csv" UND "Text - txt - csv (StarCalc)"
> anzugeben sind. DA drauf waere ich nicht gekommen weil ich es als
> redundant empfinde.

Das erste ist die gewünschte Dateiendung, das zweite der Name des zu
verwendenden Filters. Gibt man den Filternamen explizit an, ist die
Dateiendung beliebig. Wenn man den Filternamen weglässt, wird er
implizit aus der Dateiendung ermittelt, weswegen diese dann nicht mehr
beliebig ist. Die Filternamen sind natürlich maximal unintuitiv.

> Sowohl auf der verlinkten Seite (die gab ich auch schon an) ...

Stimmt, das habe ich völlig übersehen :)

> ... wie in der man-page zu localc ist gar kein Beispiel mit 2x ':' zu
> finden. --> auf sowas waere ich noch lange nicht gekommen...

Ich glaube, ein Beispiel für die Syntax

  <Dateiendung>:<Filtername>:<Optionen>

habe ich auf irgendeiner anderen Webseite gefunden, an die ich mich aber
nicht mehr erinnere.

earbsenzaehler schrieb:
> Wenn ich nun einen Schritt weiter gehe mit einem weiteren Token fuer
> "Number of First Line (4)", bekomme ich bloss eine Ergebnisdatei mit
> gleich vielen Zeilen.
> Den Einfluss den ich festellen kann betrifft dann das Quoting...

Das habe ich auch nicht ganz verstanden, weswegen ich geschaut habe, ob
man diesen Teil nicht einfach weglassen kann :)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.