How to pass List as argument to dataclass? TypeError: __init__() missing required positional arguments
How to pass List as argument to dataclass? TypeError: __init__() missing required positional arguments
我试过了
from dataclasses import dataclass
import pandas as pd
@dataclass
class First:
code_event: str
code_event_system: str
company_id: int
date_event: str
date_event_real: str
ecode_class: str
......
d = pd.read_json('my.json', lines=True)
a = d.values.tolist()
一个
的输出
[['S1933190', 'STATIC', 3, '2020-05-26 16:30:00.000', '2020-05-26 16:30:00.000', 525065, 86393, '',......]]
此时我的想法是把list作为参数
p = First(a)
我遇到类型错误
TypeError: __init__() missing 30 required positional arguments: 'code_event_system', 'company_id',
从终端
>>> len(a)
1
>>> len(a[0])
30
如何解决?
您可以通过执行以下操作用参数列表实例化 class:First(*a)
将asterisk is simply unpacking列表a
转化为class构造函数的参数First
。
我试过了
from dataclasses import dataclass
import pandas as pd
@dataclass
class First:
code_event: str
code_event_system: str
company_id: int
date_event: str
date_event_real: str
ecode_class: str
......
d = pd.read_json('my.json', lines=True)
a = d.values.tolist()
一个
的输出[['S1933190', 'STATIC', 3, '2020-05-26 16:30:00.000', '2020-05-26 16:30:00.000', 525065, 86393, '',......]]
此时我的想法是把list作为参数
p = First(a)
我遇到类型错误
TypeError: __init__() missing 30 required positional arguments: 'code_event_system', 'company_id',
从终端
>>> len(a)
1
>>> len(a[0])
30
如何解决?
您可以通过执行以下操作用参数列表实例化 class:First(*a)
将asterisk is simply unpacking列表a
转化为class构造函数的参数First
。