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

如何将单个JSON对象读取为Pandas单行DataFrame

问题:将单个JSON对象转为Pandas单行DataFrame?

我有如下格式的JSON对象:

{
  "ABC": 123,
  "DATE": "2020-01-01",
  "AMOUNT": 100,
  "IDENTIFIER": 12345
}

希望将其读取为Pandas的单行DataFrame,输出样式如下:

ABC    DATE        AMOUNT    IDENTIFIER
123   2020-01-01   100        12345

目前我可以接受所有数据以字符串类型读取,后续再自行转换数据类型。我尝试过使用df=pd.read_json('file.json', orient='index'),但得到的DataFrame需要转置,且重命名列存在困难(列名为RangeIndex)。请问有没有更简洁的实现方法?


解决方法

这里有几种更简洁的实现方式,直接得到符合需求的单行DataFrame,且自动保留原JSON的键作为列名:

方法1:用pd.DataFrame.from_dict转换

先读取JSON文件为字典,再转为DataFrame,同时指定所有数据为字符串类型:

import pandas as pd
import json

# 读取JSON文件内容
with open('file.json', 'r') as f:
    data_dict = json.load(f)

# 转为单行DataFrame,所有列设为字符串类型
df = pd.DataFrame.from_dict(data_dict, orient='index').T.astype(str)

方法2:结合read_json和Series.to_frame

用read_json的typ='series'参数直接读取为Series,再转成单行DataFrame:

import pandas as pd

df = pd.read_json('file.json', typ='series').to_frame().T.astype(str)

方法3:直接将JSON包装为数组读取

如果不想额外处理字典,也可以把JSON对象包装成数组形式,然后直接用read_json读取:

import pandas as pd
import json

with open('file.json', 'r') as f:
    # 将单个对象转为数组
    data = [json.load(f)]

df = pd.DataFrame(data, dtype=str)

这几种方法都不需要手动重命名列,列名会自动对应JSON的键,且所有数据都以字符串类型存储,满足你的需求。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 20:45:56