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

使用Pandas合并文件夹CSV文件:输出首列多余逗号问题求助

解决CSV合并后输出文件开头多余逗号的问题

问题核心

合并多个结构一致的CSV后,输出文件开头出现多余逗号导致列标题偏移;此前误以为设置ignore_index=True会替换DATE列,实际是对参数功能理解有误。

问题原因

  1. 原代码中df_out.to_csv("output.csv")默认会将DataFrame的行索引写入CSV,这就是开头多余逗号的来源(索引列无标题,因此开头直接显示逗号)。
  2. 对ignore_index参数的误解:该参数仅重置合并后的行索引(左侧的行号),不会修改或替换任何数据列(包括DATE列)。
  3. 路径错误:原代码glob.glob("*.csv")读取的是当前工作目录的CSV,而非你选择的目标文件夹。

修正后的代码

import pandas as pd
import glob
from tkinter.filedialog import askdirectory

path = askdirectory() + '/'
# 修正路径:读取目标文件夹下的所有CSV文件
files = glob.glob(f"{path}*.csv")

flist = []

for filename in files:
    df = pd.read_csv(filename, index_col=None, header=0)
    flist.append(df)

# 重置行索引,避免多文件索引重复
df_out = pd.concat(flist, axis=0, ignore_index=True)

# 禁止输出行索引列,解决开头多余逗号问题
df_out.to_csv("output.csv", index=False)

效果验证

输出的output.csv将不再有开头的多余逗号,列标题正常显示,DATE列完整保留:

DATE,PM2.5,PM10,CO2,TEMPERATURE,HUMIDITY
2023-02-20 10:01:13,6.4,7.1,920,18.8,78.8
2023-02-20 10:02:13,6.4,7.5,911,18.9,78.7
2023-02-20 10:03:13,5.5,6.4,901,19.1,78.0
2023-02-20 10:04:13,5.8,6.7,889,19.3,77.3

关键参数说明

  • ignore_index=True:合并后将行索引重置为连续数字,避免不同文件的索引重复,完全不影响数据列。
  • index=False:写入CSV时不输出行索引列,从根源解决开头多余逗号的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 19:25:09