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

如何在Python中正确加载JSON文件并生成指定列的DataFrame?

解决JSON加载为多列DataFrame的问题

问题原因

你的JSON结构外层包含一个faturamento键,其对应的值才是目标数据数组。直接使用pd.read_json()会将整个外层对象解析为单列表格,导致所有字段被嵌套在同一列中。

解决方案

方法1:读取JSON后提取目标数组再转DataFrame

先通过json.load()读取完整JSON,提取faturamento对应的数组,再传入pd.DataFrame()生成多列表格:

import json
import pandas as pd

# 读取JSON文件并提取目标数组
with open('faturamento.json') as f:
    raw_data = json.load(f)
df = pd.DataFrame(raw_data['faturamento'])

方法2:使用pd.json_normalize直接解析嵌套结构

可以结合read_json和json_normalize一步完成解析:

import pandas as pd

df = pd.json_normalize(pd.read_json('faturamento.json')['faturamento'])

数据类型修正

生成DataFrame后,还需要修正字段的类型:

  • fat字段是带空格的字符串,需转为整数:
    df['fat'] = df['fat'].str.strip().astype(int)
    
  • business_day是大写的字符串布尔值,需转为布尔类型:
    df['business_day'] = df['business_day'].str.lower().astype(bool)
    

执行完以上步骤后,你就能得到包含day、fat、business_day三列的标准DataFrame。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 18:30:11