【问题标题】:Python pandas read list in list data type from csv filePython pandas从csv文件中读取列表数据类型的列表
【发布时间】:2018-04-16 22:05:04
【问题描述】:

我有一个 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 文件中读取列表吗?太感谢了。

【问题讨论】:

  • 可以分享csv文件吗

标签: python list csv


【解决方案1】:

这里的问题是由列B中list的序列化格式引起的。它存储为列表的字符串表示形式。为了从字符串中恢复 python 列表,您可以使用eval 作为转换器:

df = pd.read_csv(source, converters={'B': eval})

【讨论】:

    【解决方案2】:

    要阅读列表,你应该试试这个

    import csv
    with open('filename.csv', 'rb') as f:
        reader = csv.reader(f)
        your_list = list(reader)
    
    print your_list
    

    【讨论】:

      猜你喜欢
      • 2021-02-06
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-16
      • 2021-09-26
      • 2021-07-03
      相关资源
      最近更新 更多