Excel speichert CSV-Dateien häufig im tabulatorgetrennten Format. Was ist passiert?

9

Ich weiß nie, wie das passieren kann.

Ich hasse es wirklich sehr.

Das liegt daran, dass mein Programm darauf setzt, dass csv-Dateien csv sind.

Und bis jetzt habe ich keine Ahnung, wie meine CSV-Datei tabulatorgetrennt werden kann

Habe ich auf Speichern unter geklickt?

Habe ich wie gewohnt gespart?

Es ist eine CSV-Dateien. Ich möchte immer, dass es csv ist.

Manchmal öffne ich die Datei und stelle fest, dass das Komma weg ist. Ich muss es tun

Daten -> Text in Spalte

Um das zu reparieren. Und dann nochmal speichern. Wenn ich nochmal speichere, ist es csv in Ordnung. Aber wie zum Teufel wird es überhaupt tabulatorisch abgegrenzt? Ich habe Excel nie angewiesen, es in tabulatorgetrennten Formaten zu speichern. Wie kann das überhaupt passieren? Die Erweiterung lautet weiterhin .csv.

zusätzliche Information

  1. Ich speichere die Datei selten. Normalerweise verliere ich Excel und es kann sein, dass eine Eingabeaufforderung angezeigt wird. Vielleicht habe ich es gespeichert, ohne es zu wissen.
  2. Wenn ich versuche, eine Datei zu speichern, wird Excel standardmäßig auf "txt" gesetzt, obwohl die Datei eindeutig CSV-Dateien enthält
  3. Wenn ich jedoch nur in Eile speichere, wird es nicht in CSV-Dateien gespeichert. Es wird in .csv.txt-Dateien gespeichert. Es scheint also überhaupt keinen Sinn zu machen, dass meine CSV-Dateien tabulatorgetrennte Werte enthalten.

Bildbeschreibung hier eingeben

Das Programm, das die CSV verwendet, ist mein eigenes maßgeschneidertes Programm. Ich arrangiere jetzt, dass es sowohl Tabulator als auch Komma lesen kann. Das Programm ist jedoch sehr fehleranfällig, wenn es um seine Eingabe geht. Dieser Fehler hat mich schon Hunderte von Dollar gekostet.

user4951
quelle
Was ist das Programm erstellt diese Datei? Was ist der letzte, der sie geöffnet hat? Passiert das allen Ihren csv-s? Bleiben sie korrekt, nachdem Sie sie behoben haben?
Máté Juhász
Um welche Office-Version handelte es sich? seine 2k18 und das Problem besteht immer noch
Dev_Man
Ich fühle deinen Schmerz. Excel macht das halbjährlich für mich und, aus welchem ​​Grund auch immer, soweit ich das sehe, kann es dies tun. Ich hatte heute einen Fall, in dem es sich um eine Datei handelte, die ich dann reparierte, nur damit es ungefähr zur gleichen Zeit, als ich die erste reparierte, dasselbe mit einer anderen Datei machte. Total wütend. Wie Sie bricht es unsere Software, wenn CSV nicht CSV ist. Excel sollte die Dateierweiterung berücksichtigen.
Bart Read

Antworten:

11

Um Chris76786777s Antwort auf diesen möglichen Excel-Fehler zu erläutern , ist mir auch aufgefallen, dass Sie eine mit UTF-8 codierte CSV-Datei mit einem Stücklistenkopf (UTF-8-BOM) öffnen , einige Spalten hinzufügen und einfach speichern Wenn dies der Fall ist, wird es mit Tabulatoren anstelle von Kommas als Trennzeichen gespeichert. Die (beschädigten) Ergebnisse werden jedoch erst angezeigt, wenn Sie die Datei schließen und erneut in Excel öffnen.

Wenn Sie eine reine UTF-8-CSV-Datei ohne Stückliste öffnen, funktioniert die oben beschriebene Bearbeitung einwandfrei und Sie können sie normal in Excel erneut öffnen.

Eine Möglichkeit, dies zu umgehen, besteht darin, die CSV-Datei in einem robusten Texteditor wie Notepad ++ oder Vim zu öffnen und die Dateicodierung von UTF-8 BOM in UTF-8 zu konvertieren, bevor Sie in Excel damit experimentieren. (Ich weiß , das BOM könnte manchmal erforderlich sein , für Excel verschiedene Sprachen richtig zu verstehen, zumindest nach dieser .) Wenn Sie die Stückliste entfernen können, hoffentlich Ihre Ergebnisse werden dann besser vorhersagbar sein (zumindest bis Microsoft feststellt , dass dieses Verhalten a ein wenig merkwürdig.)

Russ Frizzell-Carlton
quelle
Vielen Dank! Das Öffnen der CSV-Datei in Notepad ++ und das Ändern der Codierung von UTF-8-BOMauf Standard haben UTF-8dieses Problem für mich behoben.
Nick
8

Wenn Sie auf eine CSV-Datei doppelklicken und diese in Excel öffnen, wird sie von Excel als Textdatei behandelt, jedoch "on the fly" in Spalten konvertiert. Es ist jedoch immer noch eine Textdatei.

Um CSV als CSV in Excel zu öffnen und dann als CSV zu speichern, müssen Sie es importieren.

Leider ist die Standardaktion zum Importieren von CSV-Dateien per Doppelklick mit Office 2003 weg.

Für Sie ist es entweder die Gewohnheit, Ihre CSVs immer nach Excel zu importieren (hat Vorteile, wenn Sie große Zahlen haben - 12 Stellen oder mehr) oder zu anderen Tools zu wechseln - zum Beispiel OpenOffice.

AcePL
quelle
3

Ich glaube, das ist ein Fehler in Excel. Ich habe bemerkt, dass es passiert, wenn ich eine XLSX mit der Option UTF-8 CSV als CSV speichere. Wenn ich mit der "regulären" Version von CSV speichere, findet diese Konvertierung von CSV zu tabulatorgetrennt nicht statt. Ich kann durch Doppelklicken speichern, schließen und erneut öffnen, und die Datei bleibt CSV.

Ich bin in den letzten Tagen auf dieses Problem gestoßen, und das ist mir aufgefallen.

Chris76786777
quelle
1

Was für mich funktioniert hat, ist ähnlich wie das, was Russ vorgeschlagen hat :

  • Bearbeiten Sie die CSV in einem Texteditor und ersetzen Sie sie ;durch,

Stellen Sie mein Standard-CSV-Programm auch auf einen Texteditor ein, nicht auf Excel.

CodeMeHappy
quelle