在Python 3中,我试图计算这个csv文件中的评级数量,我将其拉入列表中,但是当我尝试实际开始操作列表中的数据时,我也遇到了错误我的 for 循环中需要解压许多值(预计有 5 个),但我不知道为什么。
with open(r'C:\Users\t_goo\Pictures\coding\dataset\smartphone-
review\amazon_alexa.csv', mode='r') as alexa:
data = list(alexa.read().split(","))
print(data)
# rating, date, variation, review, feedback
for rating, data, variation, review, feedback in data:
rating = rating.count()
print(rating)
当我尝试运行此程序时,出现以下错误:
line 7, in <module>
for rating, data, variation, review, feedback in data:
ValueError: too many values to unpack (expected 5)
这是原始数据的示例:
rating,date,variation,verified_reviews,feedback 5,31-Jul-18,Charcoal Fabric,Love my Echo!,1 5,31-Jul-18,Charcoal Fabric,Loved it!,1
最佳答案
data = list(alexa.read().split(","))
一次读取整个文件并在 ,
处分割它 - 您需要首先将文件分割成行,然后用逗号分割每一行,所以您需要这样做
data = [y.strip().split(",") for y in alexa.splitlines() if y.strip()]
这将产生一个列表列表。
然后您可以使用
for rating, data, variation, review, feedback in data:
pass
对其进行操作
关于python - 太多值无法解包 for 循环计数列表中的值时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54160922/