繁体   English   中英

太多的值无法在 for 循环中解包错误计数列表中的值

[英]Too many values to unpack error in for loop counting values in list

在 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

对其进行操作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM