我有一个csv文件,像这样:
A B
aaa [['a1','b1'],['a2','b2']]
bbb [['a3','b3']]
我试着把这个文件读入Python。我想要列表数据类型的“B”列。
我尝试了pd.read_csv('filename.csv')
,我得到的是str类型的"[['a1','b1'],['a2','b2']]"
,而不是列表类型。
我还试了pd.read_csv('filename.csv', converters={'B':list})
,结果是这样的:[[,[',a','1,','B,'...,不是我想要的列表。
你能告诉我如何直接从csv文件中读取列表吗?太感谢了
3条答案
按热度按时间vngu2lb81#
这里的问题是由列 B 中
list
的序列化格式引起的。它存储为列表的字符串表示形式。为了从字符串中恢复python列表,你可以使用eval
作为转换器:dzjeubhm2#
要阅读列表,请尝试此操作
a9wyjsp73#
我使用pandas来轻松地处理文件。如果你可以决定文件中的内容,你也可以选择像这样存储:
然后,您可以简单地读取文件并使用split函数的功能,它将:
对于第一行的第二列,您可以简单地使用白色作为分隔符运行一次split,然后使用'+'作为分隔符再次运行。
你可以在这里找到更多关于分割的细节https://www.w3schools.com/python/ref_string_split.asp