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

如何提取各CSV文件列名并合并至单个CSV文件?

解决方法

要实现提取指定文件夹中所有CSV文件的列名,并将列名与对应文件名合并为一个CSV文件的需求,可按以下修改后的代码操作:

import pandas as pd
import os
import glob2

# 指定目标文件夹路径
path = r'G:\serv_agr\Alberta_Billing\MM1077-NewHorizonMall\Meters\Gas_Wtr'
csv_files = glob2.glob(os.path.join(path, "*.csv"))

# 初始化列表存储所有文件的信息
all_file_records = []

# 遍历每个CSV文件
for f in csv_files:
    # 获取纯文件名
    file_name = os.path.basename(f)
    # 仅读取表头(不加载整个文件,提升效率)
    df = pd.read_csv(f, nrows=0)
    columns = df.columns.tolist()
    
    # 构建包含文件名和带序号列名的字典
    record = {'文件名': file_name}
    for idx, col in enumerate(columns, start=1):
        record[f'Column {idx}'] = col
    
    all_file_records.append(record)

# 将收集到的数据转为DataFrame并导出为CSV
result_df = pd.DataFrame(all_file_records)
result_df.to_csv('列名汇总.csv', index=False, encoding='utf-8-sig')

print("汇总文件已生成:列名汇总.csv")

关键改进说明

  • 用os.path.basename(f)替代手动分割路径,更简洁可靠地获取文件名
  • 使用pd.read_csv(f, nrows=0)仅读取表头行,避免加载大文件内容,节省内存和时间
  • 为列名添加序号后缀(如Column 1、Column 2),匹配你期望的输出格式
  • 统一收集所有文件数据后再导出,确保最终CSV文件结构规整,不同列数的文件会自动填充空值

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 14:40:34