Wie kann ich diese Excel-Datei konvertieren, sodass sie nicht nur aus einer Zeile besteht?

Wie kann ich diese Excel-Datei konvertieren, sodass sie nicht nur aus einer Zeile besteht?

Ich habe eine Excel-Datei, die im Bild unten gezeigt wird und zum Download bereitstehtHier. Ich muss die Variablen unter „Element“ (Spalte B) und die Werte in Spalte G extrahieren. Zunächst habe ich versucht, die Excel-Datei als kommagetrennte CSV-Datei zu speichern. Wenn ich jedoch die Anzahl der Zeilen im Mac OS X-Terminal überprüfe, wird mir angezeigt, dass die CSV-Datei nur aus einer Zeile besteht:

$ wc -l Layout.csv
0 Layout.csv

Irgendeine Idee, warum das so sein könnte?

Excel-Datei

Hier ist die in einem Texteditor geöffnete CSV-Datei, die aus mehreren Zeilen besteht:

CSV-Version der Datei

Sie können diese Datei herunterladenHier.

Antwort1

Nachdem Sie Ihre CSV-Ausgabe gesehen haben, ist das Problem klar: Sie haben Excel angewiesen, CR-Zeilenenden zu verwenden, wahrscheinlich, weil es Sie darüber informiert hat, dass diese im „Macintosh“-Stil sind. Das sind stark veraltete Informationen, die seit über einem Jahrzehnt nicht mehr stimmen.

Es gibtdrei Hauptzeilenendstile:

  1. LF: Der von Unix und allen seinen primären Derivaten verwendete Stil,einschließlichMac OS X.

  2. CR: Der Stil, der vom „klassischen“ Mac OS gewählt wurde, wurde von Apple 2001 mit der Umstellung auf Mac OS X aufgegeben. Da das klassische Mac OS das einzige populäre Betriebssystem ist, das jemals diesen Stil verwendet hat, wird er in der Praxis fast nie mehr verwendet. Die CSV-Datei, auf die Sie verlinkt haben, ist eines dieser seltenen Beispiele.

  3. CR+LF: Der DOS/Windows-Stil des Zeilenendes. Technisch gesehen entspricht dieser Stil eher der Geschichte von ASCII und ist daher „korrekter“, aber außerhalb der Microsoft-Welt ist er selten anzutreffen.

Die beste Möglichkeit, dies zu beheben, besteht darin, Excel dazu zu bringen, Zeilenenden mit LF zu verwenden, was die native Form von OS X ist, was wcandere Unix-Befehlszeilentools zufriedenstellen wird. Dies liegt jedoch außerhalb des Rahmens dieses Forums. (Versuchen SieSuper Userwenn Sie es wirklich nicht alleine hinbekommen.)

Eine themenbezogene Methode zur Behebung des Problems über die Unix-Befehlszeile ist:

$ tr '\r' '\n' < Layout.csv > Layout-LF.csv

(Dies ist eine dieser Arten von Problemen, für die es ungefähr so ​​viele verschiedene Lösungen gibt, wie es Leute gibt, die sie anbieten.)

verwandte Informationen