You need to enable JavaScript to run this app. Python如何将两个文件夹同名CSV合并为含工作表的Excel工作簿
优惠活动
大模型
产品
解决方案
定价
更多

Python如何将两个文件夹同名CSV合并为含工作表的Excel工作簿

实现思路
  • 以Folder1为核心主目录,遍历目录下所有CSV文件
  • 对每个CSV文件,检查Folder2中是否存在完全同名的文件
  • 若存在则将两个CSV分别作为独立工作表写入对应名称的xlsx文件,若不存在则仅写入Folder1的CSV内容
  • 所有输出的xlsx统一存放至Folder3
依赖安装

需提前安装pandas(CSV/Excel读写)和openpyxl(xlsx写入引擎),执行命令:
pip install pandas openpyxl

完整实现代码
import os
import pandas as pd

# -------------------------- 配置项,替换为你自己的实际路径 --------------------------
folder1 = "替换为Folder1的路径"
folder2 = "替换为Folder2的路径"
folder3 = "替换为Folder3的输出路径"
# -----------------------------------------------------------------------------------

# 自动创建输出目录Folder3,已存在则不报错
os.makedirs(folder3, exist_ok=True)

# 遍历Folder1下所有文件
for filename in os.listdir(folder1):
    # 仅处理CSV格式文件,兼容大小写后缀(如.CSV)
    if not filename.lower().endswith(".csv"):
        continue
    
    # 提取无后缀的文件名作为最终xlsx的名称
    base_filename = os.path.splitext(filename)[0]
    output_xlsx_path = os.path.join(folder3, f"{base_filename}.xlsx")

    # 读取Folder1的CSV作为主数据源
    df_folder1 = pd.read_csv(os.path.join(folder1, filename))
    # 构建工作表映射字典:键为工作表名,值为对应数据
    work_sheets = {"Folder1": df_folder1}

    # 检查Folder2是否存在同名CSV
    folder2_file_path = os.path.join(folder2, filename)
    if os.path.exists(folder2_file_path):
        df_folder2 = pd.read_csv(folder2_file_path)
        work_sheets["Folder2"] = df_folder2

    # 写入xlsx文件
    with pd.ExcelWriter(output_xlsx_path, engine="openpyxl") as writer:
        for sheet_name, df in work_sheets.items():
            # index=False 避免写入pandas默认的无意义索引列
            df.to_excel(writer, sheet_name=sheet_name, index=False)
常见问题适配
  • 编码报错:若读取CSV时提示编码错误,可在pd.read_csv()中添加encoding="gbk"或encoding="utf-8-sig"参数适配不同编码的CSV文件
  • 工作表名自定义:当前默认将来自Folder1、Folder2的CSV分别命名为Folder1、Folder2工作表,可根据需求修改work_sheets的键值自定义名称
  • 大内存文件处理:若CSV文件过大导致内存不足,可在pd.read_csv()中添加chunksize=10000参数分块读取
  • 大小写文件名匹配:当前默认精确匹配文件名大小写,若需忽略大小写匹配Folder2的文件,可自行遍历Folder2文件列表后做小写比对

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.24 20:18:03