我有一个包含其他数据类作为字段的数据类:
@dataclass
class Bar:
abc: int
bed: int
asd: int
@dataclass
class Foo:
xy: int
yz: Bar
接着我尝试使用Pandas将其序列化为CSV文件,代码如下:
dataset = [Foo(xy=1, yz=Bar(abc=1, bed=2, asd=3))]
pd_dataset = pandas.DataFrame(vars(row) for row in dataset)
pd_dataset.to_csv('dataset_example.csv', index=False)
但是我得到的结果与我想要实现的有些不同。准确地说,我现在得到的是:
xy,yz
1,"Bar(abc=1, bed=2, asd=3)"
and I want:
xy,yz_abc,yz_bed,yz_asd
1,1,2,3
你能帮我把它弄对吗?我试着编写自己的序列化函数并执行以下操作:
pandas.DataFrame(asdict(row, dict_factory=row_to_dict) for row in dataset)
但我不知道如何正确地编写它。