2015-09-23 7 views
7

ich eine grundlegende CSV-Datei zu lesen, wo die Spalten durch Kommas mit diesen Spaltennamen getrennt sind:Pandas csv mit zusätzlichen Kommas in Spalte lesen

userid, username, body

Allerdings ist der Körper Spalte eine Zeichenkette, die kann Kommas enthalten. Offensichtlich führt dies zu einem Problem und Pandas wirft einen Fehler:

CParserError: Error tokenizing data. C error: Expected 3 fields in line 3, saw 8

Gibt es eine Möglichkeit Pandas zu sagen, Komma in einer bestimmten Spalte oder eine Art und Weise zu ignorieren, um dieses Problem zu gehen?

Antwort

6

Stellt wir lesen Ihre Datenrahmen comma.csv genannt:

userid, username, body 
01, n1, 'string1, string2' 

Eine Sache, die Sie tun können, das Trennzeichen des Strings in der Spalte angegeben werden, mit:

df = pd.read_csv('comma.csv', quotechar="'") 

In diesem Fall Strings abgegrenzt von ' gelten als total, egal Kommas in ihnen.

+1

Ich glaube nicht, seine Zeichenfolge hat Anführungszeichen, denn wenn es dann Pandas würde es ohne "quotechar" erkennen – Leb

+0

Wie Leb sagte, habe ich keine Anführungszeichen um den Körper – David

+1

@David Ok habe es. Ihr Datenrahmen wurde "wie besehen" zur Verfügung gestellt, oder Sie können ihn vorverarbeiten? –

Verwandte Themen