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