首页 > 解决方案 > 将字典列表转换为熊猫数据框时,“_io.TextIOWrapper”对象没有属性“DataFrame”

问题描述

我有一个这样的 JSON 文件:

{
  "project_name": "Lawns & Beyond",
  "flats": [
    {
      "config": "1BHK",
      "carpet_area": "331 sq.ft",
      "carpet_rate": "25000",
      "cost": "8275000",
      "units": "303"
    },
    {
      "config": "1BHK",
      "carpet_area": "361 sq.ft",
      "carpet_rate": "25000",
      "cost": "9025000",
      "units": "300"
    },
    {
      "config": "2BHK",
      "carpet_area": "455 sq.ft",
      "carpet_rate": "25000",
      "cost": "11375000",
      "units": "715"
    },
    {
      "config": "3BHK",
      "carpet_area": "592 sq.ft",
      "carpet_rate": "25000",
      "cost": "14800000",
      "units": "165"
    }
  ]
}

我正在尝试将 project_name 保存在一个变量中,并从公寓中创建一个 pandas 数据框。

像这样:

import json

d = open('sample_data/input_details.json', 'r')
details = json.load(d)

project_name = details['project_name']

unit_config = []

for i in details['flats']:
    unit_config.append(i)

unit_config = pd.DataFrame(unit_config)

但是,我收到此错误

AttributeError:“_io.TextIOWrapper”对象没有属性“DataFrame”

标签: pythonjsonpandaslistdataframe

解决方案


首先,你可以更换

unit_config = []
for i in details['flats']:
    unit_config.append(i)
unit_config = pd.DataFrame(unit_config)

unit_config = pd.DataFrame(details['flats'])

其次,关于您的问题,您的导入可能有问题,请尝试在脚本的开头编写import pandas as pd

希望这可以帮助。


推荐阅读