[英]python - for loop over list - returns error “too many values to unpack”
[英]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.