gpt4 book ai didi

python - 从 csv : __init__ arguments error 填充模型

转载 作者:搜寻专家 更新时间:2023-10-30 23:13:24 25 4
gpt4 key购买 nike

我有一个包含大量列的表,需要从 csv 文件中填充这些列。我在模型定义中有以下 __init__ 代码。 [1]

class Table

column1 = ............
column2 = .............
.......

def __init__(self, **kwargs):
self.__dict__.update(kwargs)

读取csv文件的代码是(load_csv.py)

data_file = "data.csv"
csv_file = csv.DictReader(open(data_file, 'rU'), delimiter=',')
for row in csv_file:
table_entries = {}
for key, value in row.items():
table_entries[key] = value
table_row = Table(table_entries)
db.session.add(table_row)
db.session.commit()

执行 load_csv.py 时出现以下错误

    table_row = Table(table_entries)
TypeError: __init__() takes exactly 1 argument (2 given)

我读了that这是因为它使用默认的 __init__ 但我不明白为什么它缺少我在代码中定义的 __init__ 函数。解决此问题的任何帮助将不胜感激。

最佳答案

您想将字典应用为关键字参数:

table_row = Table(**table_entries)

或更改您的 Table() 类以接收一个参数:

class Table

def __init__(self, row):
self.__dict__.update(row)

关于python - 从 csv : __init__ arguments error 填充模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17244446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com