为了账号安全,请及时绑定邮箱和手机立即绑定

如何修复 Python 中的“__new__() 缺少 3 个必需的位置参数:..”错误

如何修复 Python 中的“__new__() 缺少 3 个必需的位置参数:..”错误

九州编程 2022-06-22 17:58:39
我正在处理 python 代码,但出现此错误:“TypeError: new () missing 3 required positional arguments: 'name', 'freq', and 'gen'”我正在导入一个 csv 文件来创建一个元组列表,使用命名元组。import csvfrom collections import namedtupleRec = namedtuple('Rec', 'year, name, freq, gen')def read_file(file):      with open(file) as f:        reader = csv.reader(f)        next(reader)        for line in reader:            recs= Rec(line)        return recsread_file("./data/file.csv")这可能是一些新手问题,但我就是这样:) 我会很感激任何帮助!
查看完整描述

1 回答

?
MMTTMM

TA贡献1869条经验 获得超4个赞

line是一个元组。当您调用Rec(line)时,整个元组被解释为year参数(缺少其他三个参数,因此出现错误)。

要解决此问题,请更改

recs = Rec(line)

recs = Rec(*line)

或者

recs = Rec._make(line)

https://docs.python.org/2/library/collections.html#collections.somenamedtuple._make


查看完整回答
反对 回复 2022-06-22
  • 1 回答
  • 0 关注
  • 131 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信