gpt4 book ai didi

python - 如何将对象成员变量的值写入 csv 行?

转载 作者:太空宇宙 更新时间:2023-11-04 04:55:44 25 4
gpt4 key购买 nike

假设我有一个名为 obj 的对象,它已初始化并且有 50 个成员变量。我想将其写入 csv 文件中的一行,而不必键入对象的每个成员变量。我想避免的冗长的方法是:

writerPosts.writerow([obj.var1, obj.var2, obj.var3 .........................]) 

我想做一些看起来像这样并获得相同结果的事情:

writerPosts.writerow(obj)

如何做到这一点?

最佳答案

获取所有类字段/变量的一种方法如下:

members = [attr for attr in dir(obj) if not callable(getattr(obj, attr)) and not attr.startswith("__")]

这里的成员是所有可能变量的列表。上面的列表理解过滤掉任何可调用属性(意味着类的任何可能函数)和任何内置函数。

然后将它们写入您的 csv 文件很简单。

with open("output.csv",'wb') as resultFile:
wr = csv.writer(resultFile, dialect='excel')
wr.writerows(members)

这会将那些变量(不是值)写入 csv 文件。

编辑:如果要写入变量的值,则可以执行以下操作:

values = [getattr(obj, member) for member in members]

values 列表将为您的每个类字段提供。然后你可以将这个列表写入 csv 文件,如上所述。

关于python - 如何将对象成员变量的值写入 csv 行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47117295/

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