Как сохранить тип данных «список» фрейма данных при чтении из CSV или записи в CSV - PullRequest
1 голос
/ 04 июня 2019

Я хочу сохранить тип данных столбца фрейма данных, который является списком, при записи его в CSV-файл. когда я читаю, у меня должны быть значения в формате lis.

Я пытался

pd.read_csv('namesss.csv',dtype = {'letters' = list})

но там написано

 dtype <class 'list'> not understood

это пример

df = pd.DataFrame({'name': ['jack','johnny','stokes'],
                  'letters':[['j','k'],['j','y'],['s','s']]})
print(type(df['letters'][0]))
df
<class 'list'>
name    letters
0   jack    [j, k]
1   johnny  [j, y]
2   stokes  [s, s]
df.to_csv('namesss.csv')
print(type(pd.read_csv('namesss.csv')['letters'][0]))
<class 'str'>

1 Ответ

1 голос
/ 04 июня 2019

Вы можете использовать ast module, чтобы превратить строки в списки:

import ast
df2 = pd.read_csv('namesss.csv')
df2['letters'] =[ast.literal_eval(x) for x in df2['letters'] ]

In [1] : print(type(df2['letters'][0]))
Out[1] : <class 'list'>
...