2017-03-29 2 views
1

Ich habe die folgende Zeile in einer CSV-DateiWie csv mit komplexen Feldern

"\"xyz\"; blabla";"u98r34u98r3" 

Dies soll importieren wird zwei Felder enthalten:

"\"xyz\"; blabla" und "u98r34u98r3"

Ich versuche, Importieren Sie es mit pandas.read_csv() auf Python 3.4.3, aber es gibt nur drei Felder:

xyz", blabla" und u98r34u98r3

Ich versuchte mein Glück mit Optionen escapechar=, quotechar= und doublequote= ohne Erfolg.

// edit:

Das Problem war, dass ich das spezifische Stück extrahiert und versucht, es als Zeichenfolge wie folgt zu analysieren:

from io import StringIO 
import pandas as pd 
data = u'"\"xyz\"; blabla";"u98r34u98r3"' 
pd.read_csv(StringIO(data), sep=";", escapechar="\\") 

Aber es funktionierte, als die komplette Datei Parsen.

+0

Können Sie nach, was Sie versucht haben, und was waren die Ergebnisse? – pvg

Antwort

1

Werke für mich sep=";" und escapechar="\\" in Pandas mit 0.19.2:

In [27]: df = pd.read_csv("quote.csv", header=None, sep=";", escapechar="\\") 

In [28]: df 
Out[28]: 
       0   1 
0 "xyz"; blabla u98r34u98r3 

In [29]: df.values 
Out[29]: array([['"xyz"; blabla', 'u98r34u98r3']], dtype=object) 
+0

Vielen Dank. Das Problem war, dass ich extrahiert das spezifische Stück ind versuchte, es als String wie folgt zu analysieren: 'von io importieren StringIO importieren Pandas als PD Daten = u '" \ "xyz \"; blabla ";" u98r34u98r3 " ' pd.read_csv (StringIO (Daten), sep = ";") ' Aber es funktionierte, wenn die komplette Datei analysiert. – jho

Verwandte Themen