You need to enable JavaScript to run this app. Python中如何将多个DataFrame纵向合并为单个DataFrame?
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何将多个DataFrame纵向合并为单个DataFrame?

Pandas多文件纵向合并问题修复

你的代码存在两处核心错误:

  1. 循环缩进错误:遍历文件的第二层循环写在了第一层循环外部,导致仅能读取最后一个子文件夹下的txt文件,其余子文件夹内容全部遗漏
  2. 拼接方向参数错误:pd.concat中axis=1代表按列横向拼接,是你产生大量冗余列的直接原因,纵向按行拼接需要设置axis=0

修复后代码

import pandas as pd
import glob

path = "C:/Users/nb/Desktop/NetworkCharacteristic/"
fi=glob.glob(path+"*")
li=[]
for file in fi:
    files = glob.glob(file + "/*.txt")
    # 调整缩进,将读取单个文件的逻辑放到子文件夹遍历循环内部
    for filename in files:
        frame = pd.read_csv(filename, sep='#')
        li.append(frame)
# axis设为0实现纵向拼接,加ignore_index=True可重置全局行索引,避免索引重复
df = pd.concat(li, axis=0, ignore_index=True)

效果说明

修改后代码会读取所有子文件夹下的txt文件,按行纵向合并为一个DataFrame,列数和单个txt文件的列数一致,行数为所有文件行数的总和。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 18:33:01