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

Python合并指定目录CSV文件无输出无报错,求助代码排查

帮你排查CSV合并脚本的问题

嘿,作为Python初学者遇到这种问题很正常,我帮你检查了代码,发现几个关键问题导致脚本没输出也没报错,咱一个个说清楚:

问题1:路径的转义坑

Windows路径里的\在Python字符串里是转义字符(比如\n代表换行),你写的C:\Users\Vincentc\Desktop\W1里,\U会被Python当成Unicode转义的开头,容易触发隐性错误。解决办法是用原始字符串(在路径前加r),或者把\换成\\。

问题2:glob匹配写错了

你写的glob.glob("indir")是在找名为indir的文件,而不是目标文件夹里的所有CSV文件!应该改成glob.glob("*.csv"),这样才能匹配文件夹里所有后缀为.csv的文件。

问题3:定义了函数但没调用

你只写了concatenate函数的定义,但从来没执行它!脚本运行时只是加载了函数,根本没触发合并操作,所以什么都不会发生。


修正后的完整代码

import os
import glob
import pandas

def concatenate(indir=r"C:\Users\Vincentc\Desktop\W1", outfile=r"C:\Users\Vincentc\Desktop\W2\conca.csv"):
    # 切换到目标文件夹
    os.chdir(indir)
    # 匹配当前文件夹下所有CSV文件
    file_list = glob.glob("*.csv")
    df_list = []
    
    # 遍历每个CSV文件并读取
    for filename in file_list:
        print(f"正在处理文件: {filename}")  # 打印正在处理的文件,方便排查
        df = pandas.read_csv(filename, header=None)
        df_list.append(df)
    
    # 合并所有DataFrame
    if df_list:  # 先判断有没有读取到文件,避免空列表合并
        concat_df = pandas.concat(df_list, axis=0)
        concat_df.to_csv(outfile, index=None, header=None)  # 加上header=None,避免自动加表头
        print("合并完成,结果已保存到", outfile)
    else:
        print("没有找到任何CSV文件,请检查路径是否正确!")

# 调用函数执行合并操作
concatenate()

我还加了几个小优化:

  • 变量名改成更符合Python规范的小写下划线格式(比如fileList→file_list)
  • 增加了文件存在性判断,避免空列表合并产生空文件
  • 打印处理过程和结果提示,方便你知道脚本在做什么

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 03:53:51