2013-06-11 11:04:23 +0000 2013-06-11 11:04:23 +0000
99
99
Advertisement

Wie bringt man Excel dazu, das Komma als Standard-Trennzeichen in CSV-Dateien zu interpretieren?

Advertisement

Ich habe eine Reihe von .csv-Dateien. Einige von ihnen sind kommagetrennt, andere sind tabulatorgetrennt (vielleicht sollten sie .tsv … genannt werden)

Die Erweiterung csv wird mit Excel verknüpft, wenn Excel installiert wird. Wenn ich jedoch eine dieser Dateien mit Excel öffne, wird alles in derselben Spalte abgelegt und das Komma wird nicht als Trennzeichen interpretiert.

Anstelle von Datei -> Importieren… kann ich die Datei auswählen und die genaue Art und Weise wählen, wie der Inhalt interpretiert werden soll (Trennzeichen, Datentypen usw.) Aber meistens möchte ich mir die Datei einfach nur in einer übersichtlichen Tabellenansicht ansehen. Ich möchte sie nicht mit Excel verarbeiten.

Gibt es eine Möglichkeit, Excel dazu zu bringen, das Trennzeichen automatisch zu interpretieren und die CSV-Datei als richtige Tabelle anzuzeigen, sobald sie geöffnet wird? Ich brauche dies, damit ich Excel als Schnellbetrachter für solche Dateien verwenden kann.

Ich vermute, dass es eine Möglichkeit geben muss, sonst würde sich Excel nicht mit CSV-Dateien assoziieren.

Advertisement
Advertisement

Antworten (9)

100
100
100
2013-12-10 14:38:58 +0000

Wenn Sie das Format der Datei nicht ändern möchten und NUR auf Excel abzielen, kann Ihnen der folgende Excel-Trick helfen.

Fügen Sie am Anfang der Datei eine neue Zeile mit dem Text "sep=," (einschließlich Anführungszeichen) ein, damit Excel die Datei mit “,” als Listentrennzeichen öffnet.

Es ist ein sehr einfacher Trick, um die Änderung Ihrer regionalen Windows-Einstellungen zu vermeiden und ein konsistentes Ergebnis zu erhalten. Aber er ist Excel-spezifisch.

85
85
85
2013-06-11 11:07:17 +0000

Beim Öffnen von CSV-Dateien verwendet Excel eine System-Regionaleinstellung namens List separator, um festzulegen, welches Standard-Trennzeichen verwendet werden soll.

Microsoft Excel öffnet .csv-Dateien, aber je nach den Regionseinstellungen des Systems erwartet es möglicherweise ein Semikolon als Trennzeichen anstelle eines Kommas, da in einigen Sprachen das Komma als Dezimaltrennzeichen verwendet wird. (aus Wikipedia )


Bei Windows können Sie die Einstellung List separator wie auf der Office-Support-Website :

Ändern des Trennzeichens in einer CSV-Textdatei

1 angegeben ändern. Klicken Sie auf das Windows-Startmenü: 2. Klicken Sie auf Systemsteuerung. 3. Öffnen Sie das Dialogfeld Regions- und Sprachoptionen: 4. Klicken Sie auf die Registerkarte Regionale Optionen. 5. Klicken Sie auf Anpassen / Zusätzliche Einstellungen (Win10). 6. Geben Sie ein neues Trennzeichen in das Feld Listentrennzeichen ein. 7. Klicken Sie zweimal auf OK.


Hinweis : Dies funktioniert nur, wenn das Dezimalzeichen nicht auch als Komma bezeichnet wird (in Übereinstimmung mit dem obigen Wikipedia-Zitat). Wenn dies der Fall ist, wird Excel kein Komma als Listentrennzeichen verwenden, auch wenn es gewählt wurde. Für viele Regionen außerhalb der Vereinigten Staaten ist das Komma das Standard-Dezimalzeichen.

Bei Mac OS X scheint diese Einstellung von der Einstellung Dezimaltrennzeichen abgeleitet zu sein (im Bereich Sprache & Region der Systemeinstellungen gehen Sie zu Erweitert). Wenn das Dezimaltrennzeichen ein Punkt ist, dann ist das Standard-CSV-Trennzeichen ein Komma, aber wenn das Dezimaltrennzeichen ein Komma ist, dann ist das Standard-CSV-Trennzeichen ein Semikolon.

Wie Sie selbst im Kommentar gesagt haben, gibt es eine Alternative für Mac-Benutzer, sich diese CSV-Dateien schnell anzusehen. Es handelt sich um ein Plugin für Quick Look namens quicklook-csv , das die Erkennung von Trennzeichen übernimmt.

11
Advertisement
11
11
2017-06-02 12:27:39 +0000
Advertisement

Sie brauchen die Zitate um sep=, herum nicht - solange es die erste Zeile der Datei ist, wird es funktionieren, zumindest mit Excel 2016.

Ich habe entdeckt, dass, wenn die Datei tabulatorgetrennt ist, sep=\t gut funktioniert, mit und ohne die Zitate.

5
5
5
2018-07-21 11:55:56 +0000
1
Advertisement
1
1
2019-09-23 12:03:13 +0000
Advertisement

Ich hatte eine Datei .csv mit dem Trennzeichen ; und regionalen Einstellungen, die auf das Listentrennzeichen ; eingestellt waren. Excel hat die Spalten jedoch immer noch nicht analysiert.

Es stellte sich heraus, dass es sich um ein Kodierungsproblem handelte. Die Dateien wurden aus SQL Server Management Studio 2005 exportiert und werden in UCS-2 LE BOM kodiert. Mit Notepad ++ habe ich die Kodierung auf UTF-8 umgestellt und alles begann zu funktionieren.

1
1
1
2018-06-25 14:46:53 +0000

Wenn das Trennzeichen in den Ländereinstellungen nicht ein Komma, sondern ein Semikolon (niederländisches Trennzeichen) ist, benennen Sie die CSV-Datei in eine TXT-Datei um. Klicken Sie mit der rechten Maustaste auf die TXT-Datei, wählen Sie “Öffnen mit” und wählen Sie “Excel”. Wählen Sie in Excel die erste Spalte, wählen Sie Daten in der Multifunktionsleiste und trennen Sie den Text in Spalten.

ODER

Installieren Sie LibreOffice und öffnen Sie die CSV-Datei mit LibreOffice Calc.

0
Advertisement
0
0
2018-01-22 13:50:36 +0000
Advertisement

Für Niederländisch hatte ich das Problem, dass Excel 2008 unter Windows 7 sich nicht an RFC4180 hielt:

“Felder mit Zeilenumbrüchen (CRLF), doppelten Anführungszeichen und Kommas sollten in doppelte Anführungszeichen eingeschlossen werden.”

In einer kommagetrennten Datei waren Felder mit einem Komma (niederländisches Dezimaltrennzeichen) korrekt in doppelte Anführungszeichen eingeschlossen. Im niederländischen Gebietsschema lautet das Dezimaltrennzeichen , und das Listentrennzeichen ;, so dass Excel eine Datei, in der , für beide verwendet wurde, nicht lesen konnte (auch nicht nach expliziter Änderung des Listentrennzeichens in der Systemsteuerung in ,).

Die Eingabe sieht folgendermaßen aus:

"06-07-2017 17:03:18"," ********",0:01:04,Uitgaand,"0,1879","0,2273","0,0395",21

Die Lösung wurde von @user280725 gegeben:

Notepad als erste Zeile einfügen:

sep=,

(Das bedeutet, dass die Notiz des Benutzers @zakinster in seiner Lösung nicht mehr gelten muss. )


Interessant: Wenn Sie die csv-Datei immer noch geladen haben und wenn Sie jetzt in der Systemsteuerung das Gebietsschema auf US-Englisch einstellen und die Datei speichern, ist sie in das US-englische Format konvertiert worden (Komma als Listentrennzeichen und Punkt als Dezimaltrennzeichen).

0
0
0
2017-06-12 17:22:25 +0000

Stellen Sie sicher, dass Sie die CSV-Datei in einem einfachen Editor wie Notepad überprüfen, um sicherzustellen, dass sie richtig formatiert ist.

Ich fügte diese Antwort hinzu, nachdem ich einen dummen Fehler behoben hatte, bei dem CSV-Dateien, die ich mit VB erstellt hatte, nicht mit separaten Spalten in Excel geöffnet wurden. Ich entdeckte, dass die Art und Weise, wie ich die Zeilen geschrieben hatte, jede Zeile mit Anführungszeichen umbrach. Excel versteckte die Anführungszeichen und zeigte die gesamte Zeile in Spalte A an, so dass es so aussah, als hätte es meine Komma-Trennzeichen ignoriert.

0
Advertisement
0
0
2017-07-31 06:30:51 +0000
Advertisement

Am besten ist es, sie in einer Textdatei mit der csv-Erweiterung

Sub ExportToCSV()
    Dim i, j As Integer
    Dim Name As String

    Dim pathfile As String

    Dim fs As Object
        Dim stream As Object

        Set fs = CreateObject("Scripting.FileSystemObject")
    On Error GoTo fileexists

    i = 15
    Name = Format(Now(), "ddmmyyHHmmss")
    pathfile = "D:\" & Name & ".csv"

    Set stream = fs.CreateTextFile(pathfile, False, True)

fileexists:

    If Err.Number = 58 Then
        MsgBox "File already Exists"
        'Your code here
        Return
    End If
    On Error GoTo 0

    j = 1
    Do Until IsEmpty(ThisWorkbook.ActiveSheet.Cells(i, 1).Value)

        stream.WriteLine (ThisWorkbook.Worksheets(1).Cells(i, 1).Value & ";" & Replace(ThisWorkbook.Worksheets(1).Cells(i, 6).Value, ".", ","))

        j = j + 1
        i = i + 1
    Loop

stream.Close

End Sub
``` zu speichern.
Advertisement

Verwandte Fragen

13
6
13
9
10
Advertisement
Advertisement