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)
相关推荐
用户9562562542914 小时前
跟做:Firecrawl 单页转 Markdown 再丢进沙箱总结
python·api
威哥爱编程15 小时前
模拟面试智能体开发实战 02:回答等半分钟,谁还愿意练?把服务端和流式输出搭起来
python·agent·harmonyos
威哥爱编程15 小时前
模拟面试智能体开发实战 01:面试挂了都不知道挂在哪?用 Python 给自己造一个随叫随到的 AI 面试官
python·agent·harmonyos
2601_9679801115 小时前
Python行情API量化 02:顺序拉 20 要 2 秒?并发批量把时间压到 0.5 秒
python·api·限流·并发·量化
伞伞悦读15 小时前
【第81期】特征缩放怎么选:标准化、MinMax 与 Robust 的原理、泄漏对照和完整实验
人工智能·python·深度学习·机器学习
xbzb15 小时前
镜像到底存在哪:/var/lib/docker 的四级映射与 daemon.json 配置
docker·容器·json·镜像·daemon.json·四级
新*16 小时前
从一段 WebSocket 代码聊开:bytes 不是 zlib、binaryType 决定一切,15MB 大消息的零拷贝优化
javascript·python·websocket·性能优化·blob·zlib·arraybuffer
卷无止境18 小时前
mathmodel-figure-templates 以及两个上手案例
后端·python
锋行天下18 小时前
服务器 Python 2.7 装不了 langgraph-cli?用本地生成 Dockerfile 曲线救国
人工智能·后端·python
一条大祥脚18 小时前
深入理解 PyTorch FlexAttention:从 Score Mod 到 Mask Mod 的稀疏加速之道
人工智能·pytorch·python·注意力机制·flex attention·可编程注意力