[python]使用Pandas将Excel文件转换为JSON格式

在数据处理和分析过程中,经常需要将Excel文件转换为JSON格式,以便在Web应用程序中使用。本文介绍如何使用Python的Pandas库实现这一功能,并解释其中的关键函数。

代码示例

python 复制代码
import pandas as pd
import json

def excel_to_json(excel_file):
    # 读取Excel文件
    xls = pd.ExcelFile(excel_file)
    
    # 创建一个空字典存储每个Sheet的数据
    excel_data = {}
    
    # 遍历每个Sheet
    for sheet_name in xls.sheet_names:
        # 读取Sheet内容为DataFrame
        df = pd.read_excel(excel_file, sheet_name=sheet_name)
        
        # 将DataFrame转换为字典格式
        data_dict = df.to_dict(orient='records')
        
        # 将数据存入字典,以Sheet名为键
        excel_data[sheet_name] = data_dict
    
    # 将字典转换为JSON字符串
    json_data = json.dumps(excel_data, indent=4, ensure_ascii=False)
    
    return json_data


# 使用示例
excel_file_path = '表格数据.xlsx'
json_output = excel_to_json(excel_file_path)
print(json_output)

# 如果需要保存为文件,可以使用以下代码:
with open('output.json', 'w', encoding='utf-8') as f:
    f.write(json_output)

代码解析

导入必要的库:

import pandas as pd

import json

定义excel_to_json函数:

读取Excel文件并获取所有Sheet的名称。

创建一个空字典来存储每个Sheet的数据。

遍历每个Sheet,将其内容读取为DataFrame,并转换为字典格式。

将每个Sheet的数据存入字典中,以Sheet名为键。

最后,将字典转换为JSON字符串并返回。

关键函数解释:

df.to_dict(orient='records'):

这个函数将Pandas DataFrame转换为字典格式。参数orient='records'表示每一行数据将作为一个字典存储在列表中。例如:

python 复制代码
[{'列1': 值1, '列2': 值2}, {'列1': 值3, '列2': 值4}]

json.dumps(excel_data, indent=4, ensure_ascii=False):这个函数将Python字典转换为JSON字符串。参数indent=4用于美化输出,使JSON字符串更易读;ensure_ascii=False确保输出的JSON字符串中包含非ASCII字符(如中文)时不会被转义。

指定Excel文件路径并调用excel_to_json函数。

打印生成的JSON数据。

如果需要保存为文件,可以使用with open语句将JSON数据写入文件。

相关推荐
Scott9999HH1 小时前
【IIoT流量实战】蒸汽管道阀门全关却仍有流量?用 Python 实现涡街信号 FFT 频谱分析与温压全补偿积算网关,深度拆解靠谱的涡街流量计厂家硬核技术标准
开发语言·python
AI云海2 小时前
python 列表、元组、集合和字典
开发语言·python
二十雨辰2 小时前
[爬虫]-Urllib
爬虫·python
玉鸯4 小时前
Agent Hook:在概率推理之上,为 Agent 叠加确定性控制
python·langchain·agent
weixin_446260855 小时前
HACO:面向动态部署环境的对冲式智能计算可靠多智能体调度框架
后端·python·flask
我的xiaodoujiao5 小时前
API 接口自动化测试详细图文教程学习系列32--Allure测试报告2
python·学习·测试工具·pytest
qetfw5 小时前
MXU:Tauri 2 + React 的 MaaFramework 跨平台 GUI 源码
前端·python·react.js·前端框架·开源项目·效率工具
用户8356290780516 小时前
Python 实现 Excel 页面布局与打印设置自动化
后端·python
维天说6 小时前
CLI-Switch 2026年3月版历史设计:Hook、TTY 隔离与 JSON 状态
java·服务器·json