You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取导入模块中类的所有属性并存储为Pandas列?

实现动态提取类实例属性生成Pandas DataFrame

完全可行,核心思路是利用Python实例的__dict__属性(或vars()函数)动态获取所有实例属性,再转换为Pandas DataFrame即可。

代码实现示例

1. hhh.py模块代码

class HHH:
    def __init__(self, arg1, arg2):
        self.arg1 = arg1
        self.arg2 = arg2
        self.some_variable1 = "foo"
        self.some_variable2 = 123
        # 可随时新增更多实例属性

2. 导入模块并生成DataFrame的脚本

import pandas as pd
from hhh import HHH

# 实例化HHH类
obj = HHH(arg1="hello", arg2="world")

# 动态获取实例的属性字典
attr_dict = obj.__dict__  # 用 vars(obj) 效果一致

# 转换为目标格式的DataFrame
df = pd.DataFrame({
    "VARIABLE": list(attr_dict.keys()),
    "VALUE": list(attr_dict.values())
})

# 导出为文件(示例为CSV格式)
df.to_csv("instance_attrs.csv", index=False)

关键说明

  • __dict__会返回实例所有自定义属性的键值对,不管属性数量多少、是否新增,都能自动捕获,彻底避免硬编码。
  • 如果需要排除特定属性(比如以_开头的私有属性),可以添加过滤逻辑:
    filtered_attrs = {k: v for k, v in attr_dict.items() if not k.startswith("_")}
    df = pd.DataFrame({"VARIABLE": list(filtered_attrs.keys()), "VALUE": list(filtered_attrs.values())})
    

内容的提问来源于stack exchange,提问作者user10443249

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 02:50:30