You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python仅转换Excel工作簿中单个工作表的格式?

批量转换Excel指定工作表为CSV的Python实现

前置依赖

先安装所需的处理库:
pip install pandas openpyxl pyxlsb

  • pandas:负责数据读写和格式转换
  • openpyxl:处理.xlsx格式文件
  • pyxlsb:处理.xlsb格式二进制Excel文件

实现代码

直接运行以下代码即可批量处理所有目标文件,按需修改开头的配置参数即可:

import os
import pandas as pd

# 配置参数,根据实际情况修改
EXCEL_FOLDER = "你的Excel文件所在文件夹路径"
TARGET_SHEET = "需要提取的工作表名称" # 若用索引指定填数字,例如第一个工作表填0
OUTPUT_CSV_FOLDER = "CSV文件输出文件夹路径"

# 自动创建输出文件夹
os.makedirs(OUTPUT_CSV_FOLDER, exist_ok=True)

for filename in os.listdir(EXCEL_FOLDER):
    file_path = os.path.join(EXCEL_FOLDER, filename)
    # 跳过非文件、非目标格式的内容
    if not os.path.isfile(file_path):
        continue
    suffix = filename.split(".")[-1].lower()
    if suffix not in ("xlsx", "xlsb"):
        continue

    # 匹配对应格式的读取引擎
    engine = "openpyxl" if suffix == "xlsx" else "pyxlsb"

    try:
        # 仅加载指定工作表,不读取其他内容减少耗时
        df = pd.read_excel(
            file_path,
            sheet_name=TARGET_SHEET,
            engine=engine
        )
        # 生成CSV文件名,避免重名
        csv_name = f"{os.path.splitext(filename)[0]}_{TARGET_SHEET}.csv"
        save_path = os.path.join(OUTPUT_CSV_FOLDER, csv_name)
        # 保存为UTF-8编码的CSV,兼容中文避免乱码
        df.to_csv(save_path, index=False, encoding="utf-8-sig")
        print(f"转换完成:{filename} → {csv_name}")
    except Exception as e:
        print(f"处理{filename}失败,错误信息:{str(e)}")

优化建议

  • 若只需要工作表中的部分列,可在read_excel中添加usecols=["列名1", "列名2"]参数,进一步压缩读写时间
  • 运行全量转换前先拿1-2个测试文件验证参数正确性,避免批量处理出错

内容的提问来源于stack exchange,提问作者Simran Parajulee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 14:39:01