[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数据写入文件。

相关推荐
我星期八休息15 小时前
深入理解跳表(Skip List):原理、实现与应用
开发语言·数据结构·人工智能·python·算法·list
蒋星熠15 小时前
如何在Anaconda中配置你的CUDA & Pytorch & cuNN环境(2025最新教程)
开发语言·人工智能·pytorch·python·深度学习·机器学习·ai
合作小小程序员小小店15 小时前
机器学习介绍
人工智能·python·机器学习·scikit-learn·安全威胁分析
王维志16 小时前
LiteDB详解
数据库·后端·mongodb·sqlite·c#·json·database
JavaEdge在掘金16 小时前
掌握Spring IoC容器和Bean作用,轻松实现依赖注入!
python
flysh0516 小时前
pyAutoGUI 模块主要功能介绍-(2)键盘功能
python·pyautogui
强盛小灵通专卖员17 小时前
闪电科创 SCI专业辅导
python·深度强化学习·研究生·ei会议·导师·sci期刊
跟橙姐学代码17 小时前
自动化邮件发送的终极秘籍:Python库smtplib与email的完整玩法
前端·python·ipython
扯淡的闲人17 小时前
多语言编码Agent解决方案(2)-后端服务实现
开发语言·python·深度学习
蒋星熠17 小时前
深度学习实战指南:从神经网络基础到模型优化的完整攻略
人工智能·python·深度学习·神经网络·机器学习·卷积神经网络·transformer