字典列表转pandas DataFrame报错'_io.TextIOWrapper'无DataFrame属性
问题解决方法
报错的核心原因是你代码中用到的pd变量当前指向的是一个文件IO对象,而非pandas模块,因此无法调用DataFrame方法。
解决步骤
- 第一步:导入pandas库并指定别名为pd,在
import json行后新增代码:import pandas as pd。如果已经添加过该行仍报错,说明你之前的代码中使用pd作为变量名存储了文件对象,修改对应的变量名避免冲突即可。 - 第二步(可选优化):无需单独循环遍历
flats列表追加内容,pandas原生支持直接将字典列表转换为DataFrame,同时推荐用with上下文管理器打开文件,避免资源泄漏。
修正后完整代码
import json import pandas as pd # 使用with上下文管理器打开文件,自动处理关闭逻辑 with open('sample_data/input_details.json', 'r') as f: details = json.load(f) project_name = details['project_name'] # 直接转换flats列表为DataFrame,无需额外循环 unit_config = pd.DataFrame(details['flats'])
内容的提问来源于stack exchange,提问作者Siddharth Soni
相关产品推荐
相关产品推荐

