Wie spalte ich eine Zeile durch Kommas, aber ignoriere Kommas in Anführungszeichen Python [duplizieren]

8

Ich habe eine Reihe verwandter Fragen gesehen, aber keine hat direkt angesprochen, was ich zu tun versuche. Ich lese Zeilen aus einer CSV-Datei.

Alle Elemente sind in Anführungszeichen und einige haben zusätzliche Kommas innerhalb der Anführungszeichen. Ich möchte die Zeile nach Kommas teilen, aber die Kommas in Anführungszeichen ignorieren. Gibt es eine Möglichkeit, dies in Python zu tun, die keine Anzahl von Regex-Anweisungen benötigt.

Ein Beispiel ist:

%Vor%

was ich in 4 separate Variablen von Werten analysieren möchte:

%Vor%

Gibt es eine einfache Option in line.split() , die ich vermisse?

    
chrisfs 07.10.2011, 02:42
quelle

2 Antworten

30

Versuchen Sie nicht, das Rad neu zu erfinden.

Wenn Sie Zeilen aus einer CSV-Datei lesen möchten, verwenden Sie das Python-Modul csv aus der Standardbibliothek.

Beispiel:

%Vor%

Arbeit erledigt!

    
Johnsyweb 07.10.2011, 02:48
quelle
-5

Sie können wahrscheinlich auf "," spalten, das heißt "[quote] [comma] [quote]"

Bei der anderen Option wird ein Escape-Zeichen angezeigt. Wenn also jemand ein Komma in die Zeichenfolge einbetten möchte und sie einen umgekehrten Schrägstrich verwenden möchten, \\. Dann müssen Sie die Zeichenfolge aufteilen und dann vor der Verarbeitung entpacken.

    
Dylan Smith 07.10.2011 02:45
quelle

Tags und Links