Mir ist klar, dass dies keine rein auf Unix / Linux bezogene Frage ist. Aber da dies etwas ist, was ich unter Linux machen werde, hoffe ich, dass jemand eine Antwort hat.
Ich habe eine Online-Excel-Datei ( .xlsx
), die regelmäßig aktualisiert wird (von jemand anderem). Ich möchte ein Skript schreiben und es als Cronjob einfügen, um dieses Excel-Sheet zu verarbeiten. Aber um das zu tun, muss ich das in eine Textdatei (so a .csv
) mit durch Semikolon getrennten Spalten konvertieren . Es kann leider nicht durch Kommas getrennt werden, da einige Spalten Kommas enthalten. Ist es überhaupt möglich, diese Konvertierung von der Shell aus durchzuführen? Ich habe Open Office installiert und kann dies über die Benutzeroberfläche tun, möchte aber wissen, ob dies über die Befehlszeile möglich ist. Vielen Dank!
PS: Ich habe auch einen Mac. Wenn also dort eine Lösung funktioniert, ist das auch gut so. :)
quelle
;
als Trennzeichen in CSV konvertiert werden soll .https://github.com/dilshod/xlsx2csv
Hat bei mir gut funktioniert. Ca. 85 MB XLSX-Datei, konvertiert in ca. 3 Minuten auf einer Mac Book Pro-SSD.
quelle
$ python xlsx2csv.py -d ";" my.xlsx my.csv
funktioniert in OSX hat gut funktioniert und die Fähigkeit, das Trennzeichen zu definieren, danke +!Ich verwende Perls xls2csv , um
xls
Dateien in zu konvertierencsv
.Ich bin mir nicht sicher, ob es auch funktioniert
xlsx
.Über:
Deshalb wurde das Zitieren eingeführt:
quelle
awk
Skripte durchläuft . Und es ist einfacher, ein Semikolon als Feldtrennzeichen einzugebenawk
. Ich könnte nach Kommas in Anführungszeichen suchen, um sie durch etwas anderes zu ersetzen ... das ist jetzt eine andere Frage :)Ich benutze PHP. Installieren Sie einfach die PHPExel-Bibliothek von http://phpexcel.codeplex.com/ und wahrscheinlich benötigen Sie auch XML-Funktionen.
Das ist mein Code:
Sie können den Vorgang rückgängig machen oder ein anderes Excel / CSV-Format verwenden. Schauen Sie sich die verschiedenen PHP-Dateien im PHPExcel-Verzeichnis an.
quelle