Wie man durch Semikolon getrennte CSV-Dateien in der US-Version von Excel öffnet


95

Wenn ich auf eine CSV-Datei doppelklicke, wird sie in Excel geöffnet. Die CSV-Dateien haben durch Semikolons getrennte Spalten (keine Kommas, sondern ein gültiges Format).

Bei einem deutschen Windows / Excel-Setup wird die geöffnete Datei korrekt angezeigt, die Spalten sind dort getrennt, wo die Semikolons in der CSV-Datei vorhanden waren.

Wenn ich dasselbe bei einem (US-) englischen Windows / Excel-Setup mache, wird nur eine Spalte importiert, in der die gesamten Daten einschließlich der Semikolons in der ersten Spalte angezeigt werden.
(Ich habe kein Englisch-Setup für Tests, Benutzer haben das Verhalten gemeldet.)

Ich habe versucht, den Wert für das Listentrennzeichen in den regionalen Windows-Einstellungen zu ändern, aber das hat nichts geändert.

Was kann ich tun, um diese CSV-Dateien in einem englischen Setup per Doppelklick zu öffnen?

EDIT:
Es scheint die beste Lösung zu sein, sich in diesem Fall nicht auf CSV-Dateien zu verlassen. Ich hatte gehofft, dass es eine Formatierung für CSV-Dateien gibt, die es ermöglicht, sie international zu verwenden.
Die beste Lösung scheint zu sein, dass ich zur Erstellung von XLS-Dateien übergehen werde.


1
Sie können Ihren Benutzern empfehlen, LibreOffice Calc zu verwenden. Es verarbeitet CSVs mit beliebigen Trennzeichen.
naught101

Antworten:


1

Diese Dateien werden verteilt? heruntergeladen? Lokal generiert?

Ich denke, die einzigartige Möglichkeit, Ihr Problem zu lösen, ohne auf den PC des Benutzers zugreifen zu müssen und ohne dass er etwas anderes als einen Doppelklick auf die Datei ausführen muss, besteht darin, die Dateien vor dem Verteilen oder Platzieren zum Herunterladen oder Generieren in XLS zu konvertieren eine XLS-Datei (oder ein anderes Format, das funktioniert) anstelle einer CSV-Datei. Sie können dies mit einem Skript oder manuell mit einem funktionierenden Excel tun, abhängig von der Anzahl der Dateien und der Art und Weise, wie sie generiert werden.


ja, ich denke das ist der beste weg um direkt xls-dateien zu erstellen. Ich hatte gehofft, dass es eine Formatierung für CSV-Dateien gibt, die sie international verwendbar macht, aber wenn das nicht möglich ist, funktionieren XLS-Dateien, egal wo.
Holgerwa

8
Wie ist das die richtige Antwort, es ist nutzlos.
Stevie G

Schreckliche Antwort - siehe die andere überstimmte Antwort.
jmc

203

Fügen Sie dies in die erste Zeile der CSV-Datei ein:

sep=;

oder

sep=,

Dies überschreibt die Systemeinstellung ("Listentrennzeichen") und Excel öffnet die Datei korrekt.


4
+1 hat dies in Excel 2010 getan und es hat perfekt funktioniert.
N Reed

8
Gibt es eine Liste solcher Einstellungen? Hinweis auf die Verwendung von Excel, da das Dezimaltrennzeichen normalerweise mit dem Hinweis auf die Verwendung einhergeht; als Spaltentrenner.
ZweiBlumen

5
Funktioniert perfekt für Excel. Beachten Sie jedoch, dass dies in anderen Tabellenkalkulations- oder Datenprogrammen möglicherweise nicht unterstützt wird. Möglicherweise handelt es sich nur um ein kleines Problem, bei dem lediglich eine zusätzliche erste Zeile mit sep=oder sep=;darin angezeigt wird. Bei einigen automatisierten Programmen oder Skripten wird die zusätzliche erste Zeile jedoch möglicherweise nicht erwartet, was dazu führt, dass die Spaltenüberschriften oder die sep=;Zeile selbst als tatsächliche Daten interpretiert werden.
Sygmoral

5
Sei vorsichtig damit. Wenn Sie in Excel speichern,
geschieht Folgendes

1
Kann fwrite($fileHandle, 'sep=,' . "\r\n");das Problem mit fputcsvin PHP vollständig behoben bestätigen .
h2ooooooo

26

Sie können den Textimport-Assistenten verwenden. Dies funktioniert nicht bei einem Doppelklick-Öffnen, aber es ist das Beste, was ich herausfinden kann, ohne an den Spracheinstellungen herumzuspielen.

In Excel 2003 gehen Sie zu Data-> Import External Data-> Import Datain der Menüleiste (ich kann nicht sagen, wo es 2007 ist, das habe ich momentan nicht zur Hand). Suchen Sie und wählen Sie Ihre CSV-Datei.

Beim Öffnen erhalten Sie das Text Import Wizard, mit dem Sie die zu verwendenden Trennzeichen angeben können.


Rufen Sie in Outlook 2007 die Registerkarte "Daten" auf, wählen Sie Ihre Spalte aus und klicken Sie in den Datenwerkzeugsätzen auf die Schaltfläche "Text in Spalten".
Hondalex

1
Ja, das ist eine Lösung. Leider sind die Benutzer, die sich die Daten ansehen müssen, nicht dazu bereit. Sie können mit einem "Doppelklick-Öffnen" umgehen, sind aber nicht in der Lage, etwas Komplizierteres zu tun. Wir haben versucht, sie wenigstens ein bisschen zu erziehen, aber sie lehnen ab.
Holgerwa

1
@ Holgerwa - Ist es möglich, die Dateien durch eine Art Konvertierungsprozess zu führen, bevor sie an die Benutzer weitergegeben werden? Oder müssen sie durch Semikolon abgegrenzt bleiben? Andere haben dies vorgeschlagen, aber es sollte ziemlich einfach sein, Semikolons mit Hilfe eines Skripts gegen Kommas auszutauschen (ich würde von einem einfachen Suchen / Ersetzen abraten, da Sie diese in Anführungszeichen nicht konvertieren möchten).
DMA57361

6

Siehe diesen Artikel:
Probleme beim Öffnen von CSV-Dateien mit Excel? Das Komma und Semikolon Problem in Excel aufgrund der regionalen Einstellungen für Europa

Welches bietet 3 Lösungen:

  • Ändern Sie die CSV-Dateierweiterung in TXT (wenn Sie eine TXT-Datei mit Excel öffnen, wird der Assistent zum Importieren von Textdateien gestartet, in dem Sie das Trennzeichen auswählen können).
  • Ersetzen Sie alle "," durch ";" in Ihren CSV-Dateien
  • Ändern Sie Ihre regionalen und Spracheinstellungen

Da Sie in den Windows-Ländereinstellungen nur den Wert für das Listentrennzeichen geändert haben, wird in dem Artikel angegeben, dass "." Für Decimal Symbolund "," für eingegeben werden müssen List Separator.

Wenn Sie sich mit VBA wohl fühlen, sehen Sie:

Öffnen einer durch Semikolons getrennten CSV-Datei mit VBA in Excel 2000
Exportieren und Importieren von Text mit Excel


Ich bin damit einverstanden, alle gültigen Optionen, aber leider bin ich nicht in einer normalen Situation mit den Benutzern dieser CSV-Dateien. .TXT-Import funktioniert nicht (siehe meinen Kommentar zur Antwort von DMA57361), das Ersetzen der Semikolons durch Kommas funktioniert aufgrund von Problemen mit dem Dezimaltrennzeichen nicht und das Ändern der regionalen Einstellungen funktioniert nicht, weil ich keinen Zugriff auf das habe PCs, die verwendet werden. Die Benutzer doppelklicken einfach auf Dateien, und wenn sie nicht das bekommen, was sie erwarten, beschweren sie sich und weigern sich, bei der Lösung des Problems zu helfen.
Holgerwa

@ Holgerwa: Wenn Sie die Benutzer-PCs nicht kontrollieren, können Sie nichts tun. Denn mein anderer Vorschlag wäre, den Handler in die Erweiterung .csv zu ändern, um Ihr eigenes Programm zu sein, das die Begrenzer korrigiert (aber intelligent) und Excel aufruft.
Harrymc

@ Holgerwa: Bitte beachte meine Bearbeitung oben in Bezug auf regionale Einstellungen.
Harrymc

3

Ich habe versucht, die regionalen Einstellungen Ihres Computers wie folgt festzulegen:

  • Wählen Sie unter "Standard und Formate" die Option "Englisch (USA)" aus.
  • In den "Locations" wählen Sie "United States".

Es funktioniert für mich, probieren Sie es einfach aus.


Tatsächlich ist das Thema des OP das Gegenteil. Sollte in eine europäische Region gewechselt werden, um ein Komma als Dezimalzeichen und dann ein Semikolon als Listentrennzeichen zu erhalten.
yosh m

0

Wenn die Datei keine weiteren Kommas enthält, können Sie die Semikolons einfach in einem Texteditor suchen / ersetzen, um sie in Kommas umzuwandeln. Danach als normale CSV-Datei behandeln.


Diese CSV-Dateien müssen in verschiedenen Ländern (regionale Einstellungen) funktionieren, und in vielen regionalen Einstellungen ist das Komma das Dezimaltrennzeichen anstelle des Punkts. Eine "Standard" -Datei mit durch Kommas getrennten Werten funktioniert nicht. Ich denke, das ist der Grund, warum Semikolons als gültiges Trennzeichen für CSV-Dateien hinzugefügt wurden.
Holgerwa
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.