5 回答
TA贡献1963条经验 获得超6个赞
您可以使用它来丢弃返回的任何额外数据
for user, movie, genre,*_ in records: print(user, movie, genre)
TA贡献1798条经验 获得超7个赞
我想将其添加为评论,但我无法添加代码片段。因此添加为答案
for item in records:
print(item)
user, movie, genre=item
您将在代码通过 ValueError 中断之前打印记录的值。
一旦您向我们展示了故障发生在什么记录上,就会更容易获得解决方案
笔记。如果您想忽略与预期模式不匹配的记录,您可以这样做
for item in records:
try:
user, movie, genre=item
except ValueError:
print("Failed at %s" % repr(item))
else:
print(item)
TA贡献1829条经验 获得超7个赞
您的数据集是否作为熊猫数据框加载?如果是的话,你可以做这样的事情
cols = ['user_id', 'movie_id', 'genre']
# Assuming df is the data frame you have
for ind in df.index:
user_id, movie_id, genre = df.loc[ind, cols]
print(user_id, movie_id, genre)
如果您在数据集中没有列名,也许自己添加它们是一个有效的步骤?
TA贡献1906条经验 获得超3个赞
请检查您的数据集。可能有一些行的数据由制表符分隔,并且它正在将该行视为新列。因为这个错误被抛出。
例子 :
userid 电影类型
44892 113769 恐怖喜剧
在这里,如果您选择分隔符作为制表符/空格,那么它会将恐怖和喜剧视为不同的列。
或者你可以参考: “解包的值太多”异常
TA贡献1860条经验 获得超8个赞
您的变量名称不同:
您在数据集中称它们user_id
为movie_id
、 和genre
,但随后又将它们称为user
和movie
。
尝试将其更改为:
for user_id, movie_id, genre in records: print(user_id, movie_id, genre)
添加回答
举报