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

如何使用Python Pandas批量读取并合并指定名称的CSV文件

批量读取并合并CSV文件的简便方案

你目前逐个读取文件的方式确实繁琐,这里给你两种高效且简洁的解决方案,完全不用手动处理每个文件:

方法一:列表推导式 + pd.concat()

这是最直接的批量处理方式,用列表推导式一次性读取所有目标文件,再合并成一个DataFrame:

import pandas as pd

# 你的目标CSV文件列表
csv_names = ['drive_1.csv', 'drive_2.csv', 'drive_3.csv', 'drive_4.csv']

# 批量读取所有文件到DataFrame列表
df_collection = [pd.read_csv(file_path, sep=';', header=None) for file_path in csv_names]

# 合并所有DataFrame,ignore_index重置索引避免重复
merged_df = pd.concat(df_collection, ignore_index=True)
  • 推荐加上ignore_index=True:它会重新生成连续的索引,避免多个文件的索引重叠导致的混乱。

方法二:用glob动态匹配+合并(更灵活)

如果你的文件是通过文件名规则筛选的,还可以直接用glob模块自动匹配文件,省去手动生成csv_names的步骤:

import pandas as pd
from glob import glob

# 匹配所有名称包含'drive'的CSV文件(通配符*匹配任意字符)
target_files = glob('*drive*.csv')

# 读取并合并一步完成
merged_df = pd.concat(
    [pd.read_csv(file, sep=';', header=None) for file in target_files],
    ignore_index=True
)

额外小提示

如果后续遇到CSV文件结构不一致的情况,可以在pd.concat()中添加join='inner'参数,只保留所有文件共有的列;如果需要指定读取特定列,可以在pd.read_csv()里用usecols参数,比如usecols=[0,2,3]只读取第1、3、4列。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 20:47:29