Python/Pandas:使用(Python-)列表读取csv

Python/Pandas:使用(Python-)列表读取csv,python,csv,pandas,Python,Csv,Pandas,因此,我将以下格式的数据保存在csv中 供应商1,产品,[[rating',[review_text',datetime.datetime(2014,11,21,0,0)],[rating2',[review2_text',datetime.datetime(2014,11,29,0,0)]] 好几排。格式为string,string,list。 列表的长度可以是可变的。在这个列表中是包含我想在熊猫中使用的数据的列表。例如,我想在给定的一天对产品(行)的评论进行计数。我想我可以通过pandas.

因此,我将以下格式的数据保存在csv中

供应商1,产品,[[rating',[review_text',datetime.datetime(2014,11,21,0,0)],[rating2',[review2_text',datetime.datetime(2014,11,29,0,0)]]

好几排。格式为
string,string,list
。 列表的长度可以是可变的。在这个列表中是包含我想在熊猫中使用的数据的列表。例如,我想在给定的一天对产品(行)的评论进行计数。我想我可以通过
pandas.read\u csv(…)
导入这个。分隔符当然是逗号,但结果很奇怪,将列表拆分为多个逗号,只留下用于拆分的逗号

导入后的预期格式应为

(第1行)供应商1产品评审列表

这样,我就可以在第三栏中查找日期并对其进行总结。
有没有办法做到这一点?

我不确定csv格式是否理解数组。我会考虑用不同的格式对数据进行格式化。< /P> 如果设置了3个属性,第三个属性是数组,那么可以将其设置为字符串,并使用python的
eval
获取数组变量。不过在这里要小心。。as
eval
可能会产生破坏性后果。只有在完全控制输入时才使用此选项

对于包含以下内容的输入csv文件(请注意阵列周围的
):

python脚本,如:

import pandas as pd
import datetime 

f = pd.read_csv("file.csv")

for index, row in f.iterrows():
    as_array = eval(row['reviewlist'])
将为您提供一个数组变量来操作

import pandas as pd
import datetime 

f = pd.read_csv("file.csv")

for index, row in f.iterrows():
    as_array = eval(row['reviewlist'])