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

如何使用Python将同文件夹下多个CSV文件合并为单个文件?

现有代码疏漏
  • 路径匹配规则错误:现有代码path + ".csv"缺少通配符*,也未处理路径末尾的分隔符,完全无法匹配到目标csv文件。
  • 列表操作语法错误:向列表追加元素需要调用append()方法,现有代码file_list(df)错误将列表对象作为函数调用,运行时会直接抛出类型错误。
  • 缺少数据合并逻辑:读取所有文件内容到列表后,没有执行多数据拼接步骤。
  • 缺少结果导出步骤:没有将合并后的数据写入到final_file.csv的相关代码。
修改后可运行代码

pandas实现(适合需要后续做额外数据处理的场景)

import pandas as pd
import glob
import os

# 替换为你的csv文件所在文件夹路径
path = "./your_csv_folder"
# 匹配路径下所有符合命名规则的csv文件,兼容不同操作系统的路径格式
all_files = glob.glob(os.path.join(path, "file_*.csv"))

file_list = []
for filename in all_files:
    df = pd.read_csv(filename)
    file_list.append(df)

# 合并所有数据,默认仅保留一次表头
combined_df = pd.concat(file_list, ignore_index=True)
# 导出最终文件,不写入pandas自动生成的行索引
combined_df.to_csv(os.path.join(path, "final_file.csv"), index=False, encoding="utf-8")

纯文件操作实现(适合超大量小文件场景,内存占用极低,运行速度更快)

import glob
import os

path = "./your_csv_folder"
all_files = glob.glob(os.path.join(path, "file_*.csv"))

with open(os.path.join(path, "final_file.csv"), "w", encoding="utf-8") as out_file:
    # 写入第一个文件的表头和数据行
    with open(all_files[0], "r", encoding="utf-8") as f:
        lines = f.readlines()
        out_file.write(lines[0])
        out_file.write(lines[1])
    # 剩余文件仅写入数据行,跳过重复表头
    for filename in all_files[1:]:
        with open(filename, "r", encoding="utf-8") as f:
            out_file.write(f.readlines()[1])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 00:54:02