2016-03-10 13 views
-1

Я пытаюсь импортировать следующий CSV текст:Почему этот импорт Pandas csv терпит неудачу?

name, favorites, age, other_hobbies 
joe, "[madonna, elvis, u2]", 28, "[football, cooking]" 
mary, "[lady gaga, adele]", 36, "[]" 

С следующей pandas команды

file_name = "new_data.csv" 
df = pd.read_csv(file_name, sep =",") 
print(df) 

И я получаю этот результат:

       name favorites   age other_hobbies 
joe "[madonna elvis  u2]"   28 "[football  cooking]" 
mary "[lady gaga adele]"  36  "[]"   NaN   NaN 

Почему это происходит, и как я могу получить pandas, чтобы прочитать это правильно?

+0

Как генерируется файл? Это ручная работа или она спасена какой-то программой? –

+0

Вы создали этот файл? вы должны использовать другой разделитель, если так на обоих концах (read_csv позволяет указать что угодно, вы можете использовать что-то вроде ':' возможно). если нет, вам нужно будет прочитать файл самостоятельно и самостоятельно обработать DataFrame. –

ответ

2

Pass skipinitialspace вместе с ПСР:

df = pd.read_csv("in.csv",sep="," , skipinitialspace=1) 

print(df) 

Выход:

name    favorites age  other_hobbies 
0 joe [madonna, elvis, u2] 28 [football, cooking] 
1 mary [lady gaga, adele] 36     [] 
+0

это круто ... но как это работает? читая документы, я бы не ожидал, что это так. –