🎬 HoRain云小助手个人主页

 🔥 个人专栏: 《Linux 系列教程》《c语言教程

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

专栏介绍

专栏名称

专栏介绍

《C语言》

本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。

《网络协议》

本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制!

《docker容器精解篇》

全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。

《linux系列》

本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。

《python 系列》

本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。

《试题库》

本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等)

目录

⛳️ 推荐

专栏介绍

📌 Pandas JSON 处理核心方法

1️⃣ 读取 JSON 文件 - read_json()

2️⃣ 写入 JSON 文件 - to_json()

3️⃣ 处理嵌套 JSON - json_normalize()

4️⃣ 完整实战示例

5️⃣ 常见问题处理

🔗 相关资源


img

根据搜索结果,我为您整理了 Pandas 处理 JSON 文件 的完整指南:


📌 Pandas JSON 处理核心方法

1️⃣ 读取 JSON 文件 - read_json()

import pandas as pd

# 从文件读取
df = pd.read_json('data.json')
print(df)

# 从 JSON 字符串读取
json_str = '[{"name":"Alice","age":30},{"name":"Bob","age":25}]'
df = pd.read_json(json_str)

# 读取每行一个JSON对象的文件 (JSON Lines格式)
df = pd.read_json('data.jsonl', lines=True)

常用参数:

参数 说明
path_or_buf JSON文件路径或URL
orient JSON格式类型 (records, index, columns, values)
lines 是否为每行一个JSON对象
encoding 文件编码 (默认'utf-8')
dtype 指定列数据类型

2️⃣ 写入 JSON 文件 - to_json()

# 保存为JSON文件
df.to_json('output.json', orient='records', force_ascii=False)

# 保存为 JSON Lines 格式
df.to_json('output.jsonl', orient='records', lines=True, force_ascii=False)

# 输出为字符串
json_str = df.to_json(orient='records')

orient 参数说明:

输出格式
records [{"col1":val1}, {"col1":val2}]
index {"idx1":{"col1":val1}}
columns {"col1":{"idx1":val1}}
values ``
split 分离的字典格式

3️⃣ 处理嵌套 JSON - json_normalize()

from pandas import json_normalize

# 嵌套JSON示例
nested_json = {
    "name": "Alice",
    "address": {"city": "NY", "zip": "10001"},
    "phones": [{"type": "home", "num": "123"}, {"type": "work", "num": "456"}]
}

# 展平嵌套结构
df = json_normalize(nested_json)
df = json_normalize(nested_json, record_path='phones', meta=['name'])

4️⃣ 完整实战示例

import pandas as pd
from pandas import json_normalize

# 示例数据
data = [
    {"id": "A01", "name": "张三", "age": 25, "city": "北京"},
    {"id": "A02", "name": "李四", "age": 30, "city": "上海"},
    {"id": "A03", "name": "王五", "age": 28, "city": "广州"}
]

# 创建DataFrame
df = pd.DataFrame(data)

# 保存为JSON
df.to_json('users.json', orient='records', force_ascii=False, indent=2)

# 读取JSON
df_read = pd.read_json('users.json')

# 查看数据
print(df_read.head())
print(df_read.info())

5️⃣ 常见问题处理

问题 解决方案
中文乱码 force_ascii=False
日期格式 date_unit='ms' 或转换后保存
嵌套数据 使用 json_normalize()
大文件 lines=True 逐行读取
缺失值 na_rep='null'

🔗 相关资源


如果您有具体的JSON文件需要处理,或有特定的问题(如数据转换、格式问题等),请告诉我,我可以提供更针对性的帮助!

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐