HoRain云--Pandas处理JSON全攻略
🎬 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️⃣ 常见问题处理
🔗 相关资源
根据搜索结果,我为您整理了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' |
🔗 相关资源
- 官方文档: pandas.pydata.org/docs/reference/io.html#json
- JSON格式说明: JSON比XML更小、更快、更易解析
如果您有具体的JSON文件需要处理,或有特定的问题(如数据转换、格式问题等),请告诉我,我可以提供更针对性的帮助!
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄
💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙
