Excel 转化成JSON

Excel 转化成JSON

python 复制代码
import pandas as pd
import json
import os

def excel_to_json(excel_path, sheet_name=0, orient='records', save_path=None):
    """
    将Excel文件转换为JSON格式并可选择保存到文件
    
    参数:
        excel_path: Excel文件路径
        sheet_name: 工作表名称或索引,默认为第一个工作表
        orient: JSON格式取向('records'、'split'、'index'等),默认为'records'
        save_path: JSON文件保存路径,如果为None则不保存文件
    
    返回:
        JSON字符串
    """
    # 读取Excel文件
    df = pd.read_excel(excel_path, sheet_name=sheet_name)
    
    # 处理NaN值,替换为None以确保正确转换为JSON的null
    df = df.where(df.notnull(), None)
    
    # 转换为JSON字符串
    json_str = df.to_json(orient=orient, force_ascii=False, indent=2)
    
    # 如果指定了保存路径,则保存到文件
    if save_path:
        # 确保目录存在
        os.makedirs(os.path.dirname(save_path), exist_ok=True)
        
        # 保存到文件
        with open(save_path, 'w', encoding='utf-8') as f:
            f.write(json_str)
        print(f"JSON文件已保存至: {save_path}")
    
    return json_str

# 使用示例
if __name__ == "__main__":
    # 转换Excel并保存为JSON文件
    json_output = excel_to_json(
        excel_path="data.xlsx",
        sheet_name="Sheet1",
        orient='records',
        save_path="output/data.json"  # 指定保存路径
    )
    
    # 打印部分JSON内容预览
    print("JSON内容预览:")
    print(json_output[:200] + "..." if len(json_output) > 200 else json_output)
相关推荐
k***92162 分钟前
Python 科学计算有哪些提高运算速度的技巧
开发语言·python
superman超哥2 分钟前
仓颉条件变量深度解析与实践:解锁高效并发同步
开发语言·python·c#·仓颉
长空任鸟飞_阿康3 分钟前
LangGraph 技术详解:基于图结构的 AI 工作流与多智能体编排框架
人工智能·python·langchain
码农阿豪34 分钟前
告别兼容焦虑:电科金仓 KES 如何把 Oracle 的 PL/SQL 和 JSON 业务“接住”
数据库·sql·oracle·json·金仓数据库
love530love1 小时前
ComfyUI 升级 v0.4.0 踩坑记录:解决 TypeError: QM_Queue.task_done() 报错
人工智能·windows·python·comfyui
阿坤带你走近大数据1 小时前
Python基础知识-数据结构篇
开发语言·数据结构·python
小智RE0-走在路上1 小时前
Python学习笔记(7)--集合,字典,数据容器总结
笔记·python·学习
沃斯堡&蓝鸟1 小时前
DAY 29 异常处理
python
Direction_Wind1 小时前
抓包的使用与讲解
python
职业码农NO.11 小时前
智能体推理范式: Plan-and-Execute(规划与执行)
人工智能·python·数据分析·系统架构·知识图谱·agent·集成学习