2015-09-23 19 views
7

Sto leggendo un file CSV di base in cui le colonne sono separate da virgole con questi nomi di colonna:panda leggono csv con le virgole in più nella colonna

userid, username, body

Tuttavia, la colonna del corpo è una stringa che può contenere virgole Ovviamente questo causa un problema e panda getta fuori un errore:

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

C'è un modo per dire panda di ignorare le virgole in una specifica colonna o un modo per andare a questo problema?

risposta

6

Immaginate che stiamo leggendo il tuo dataframe chiamato comma.csv:

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

Una cosa che si può fare è quello di specificare il delimitatore delle stringhe nella colonna con:

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

In questo caso le stringhe delimitato da ' sono considerati totali, a prescindere dalle virgole al loro interno.

+1

Non credo che la sua stringa abbia virgolette, perché se lo facesse allora i panda lo riconoscerebbero senza 'quotechar' – Leb

+0

Come Leb ha detto, non ho virgolette intorno al corpo – David

+1

@David Ok capito. Il tuo dataframe è stato fornito "così com'è", oppure puoi effettuare qualche pre-elaborazione su di esso? –

Problemi correlati