讲师中心 微信公众号
AI工具推荐 视频效率加速

如何使用Python将Excel数据转换为JSON格式_使用pandas处理

小萱小哥_9930

小萱小哥_9930

发布时间:2026-05-07 08:19:11

|

1105人浏览过

|

来源于php中文网

原创

pandas.read_excel() 无 encoding 参数,.xls 需 xlrd≤1.2.0,.xlsx 推荐 openpyxl 引擎;自动处理 Unicode,不需手动设编码。

如何使用python将excel数据转换为json格式_使用pandas处理

用 pandas.read_excel() 读取 Excel 时要注意哪些编码和引擎问题

Excel 文件本身没有“编码”概念,但 read_excel() 在读取 .xls 和 .xlsx 时依赖底层引擎,容易因缺失依赖或版本不匹配报错。常见错误如 ImportError: Missing optional dependency 'xlrd' 或 Unsupported format, or corrupt file。

  • .xls 文件必须用 xlrd(注意:v2.0+ 不再支持 .xls,得降级到 xlrd==1.2.0)
  • .xlsx 文件推荐用默认引擎 openpyxl(pip install openpyxl),无需额外配置
  • 显式指定引擎更稳妥:pd.read_excel("data.xlsx", engine="openpyxl")
  • 含中文表头或数据时,不用管 encoding 参数——那是给 read_csv() 用的,read_excel() 自动处理 Unicode

把 DataFrame 转成 JSON 用 to_json(),但输出格式不对怎么办

to_json() 默认输出紧凑单行字符串,嵌套深、可读性差,且日期/NaN 处理不直观。这不是 bug,是设计如此——它优先考虑传输效率,不是人工阅读。

  • 加 indent=2 让结构清晰:df.to_json("out.json", indent=2)
  • 日期列默认转成时间戳(毫秒数),加 date_format="iso" 输出标准 ISO 字符串
  • 空值(NaN)默认转为 null,符合 JSON 规范;若需字符串 "null" 或空字符串,得先用 df.fillna("")
  • orient 参数决定键结构:orient="records" 最常用,生成对象数组;orient="index" 会把行号当 key,慎用

Excel 有多张 sheet,怎么批量导出为多个 JSON 文件

直接传 sheet_name=None 给 read_excel() 会返回 dict,key 是 sheet 名,value 是对应 DataFrame——这是批量处理的前提。

Li Python Sec Check
Li Python Sec Check

Python 安全规范检查工具:基于 CloudBase 规范、腾讯安全指南,LLM 智能分析(默认禁用,优先本地执行)

下载
  • 先用 pd.read_excel("book.xlsx", sheet_name=None) 一次性加载全部 sheet
  • 遍历 dict:for sheet_name, df in all_sheets.items(): df.to_json(f"{sheet_name}.json", orient="records", indent=2)
  • 注意文件名合法性:sheet 名含斜杠、星号等特殊字符时,需清洗,例如 sheet_name.replace("/", "_")
  • 如果只要特定几个 sheet,传列表:sheet_name=["Summary", "Details"]

导出后 JSON 数据量大,浏览器打不开或解析慢,怎么优化

JSON 本身无压缩,纯文本体积大,尤其含大量重复字段名(如 [{"name":"A","age":20},{"name":"B","age":25}] 中的 "name"、"age" 反复出现)。

立即学习“Python免费学习笔记(深入)”;

  • 用 orient="values" + 单独存字段名,可省约 30%–50% 体积(但牺牲可读性和结构语义)
  • 导出前删掉无用列:df = df[["id", "title", "status"]]
  • 数值列避免字符串化:Excel 里数字被存成文本时,to_json() 会输出带引号的字符串,用 df["col"] = pd.to_numeric(df["col"], errors="ignore") 预处理
  • 真要兼顾体积与兼容性,导出后用 gzip 压缩文件(gzip.open(..., "wt")),但前端需解压逻辑

最常被忽略的是日期列处理——不设 date_format 时,to_json() 输出毫秒时间戳,前端 new Date(1712345678901) 能解析,但可读性归零;而 date_unit="s" 改成秒级又可能丢精度。实际项目里,统一用 ISO 字符串最省心。

热门AI工具

更多
火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

LibLibAI
LibLibAI Hot

一款AI视频创作工具,主要用于国内领先的AI创意平台,以海量模型、低门槛操作与“创作-分享-商业化”生态,让小白与专业创作者都能高效实现图文乃至视频创意表达,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

相关专题

更多
python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

1671

2023.07.20

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

4184

2023.07.25

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

1669

2023.07.31

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

24257

2023.08.03

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2967

2023.08.04

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2987

2023.08.04

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

1163

2023.08.11

python合并两个列表
python合并两个列表

Python是一种强大的编程语言,具有许多方便的功能和工具。在Python中,有多种方法可以合并两个列表。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

596

2023.08.10

FrankenPHP集成Laravel详细教程
FrankenPHP集成Laravel详细教程

本专题提供FrankenPHP集成Laravel的详细配置指南,全面解析运行原理、开发环境搭建、Caddyfile配置、Octane工作模式、数据库连接、队列任务、定时任务和生产环境优化,解决部署过程中常见的报错与兼容性问题。

0

2026.10.08

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Excel 教程
Excel 教程

共162课时 | 43.9万人学习

成为PHP架构师-自制PHP框架
成为PHP架构师-自制PHP框架

共28课时 | 3.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn