2017-02-20 5 views
2

У меня есть текстовый файл с некоторыми данными и один из столбцов, как это:Как преобразовать строку обратно в список с помощью панда

['BONGO', 'TOZZO', 'FALLO', 'PINCO'] 

Для загрузки файла я использую панду функционировать to_csv.

После загрузки фрейма данных содержимое выглядит нормально, но затем я понимаю, что элемент в фрейме данных не является списком элементов, а строкой, элементами которой являются символы списка!

df['column'] возвращает строку, как этот

"['BONGO', 'TOZZO', 'FALLO', 'PINCO']" 

вместо списка, как это:

['BONGO', 'TOZZO', 'FALLO', 'PINCO'] 

Поэтому если я типа df['column'][0] я получаю '[' вместо BONGO

Что я должен делать чтобы преобразовать строку обратно в исходный формат списка? Есть ли какой-либо вход в функцию to_csv, которую я должен использовать?

+1

'Eval (DF [ 'столбца'])'? – Zero

+1

@JohnGalt NO !!! – DyZ

+0

'eval' является опасным, особенно если вы читаете DataFrame, который может быть создан каким-то другим источником @JohnGalt – ZdaR

ответ

4

Вы можете использовать ast.literal_eval как:

>>> import ast 
>>> a = "['BONGO', 'TOZZO', 'FALLO', 'PINCO']" 
>>> print ast.literal_eval(a) 
>>> ['BONGO', 'TOZZO', 'FALLO', 'PINCO'] 
Смежные вопросы