如何给data文件夹下所有无表头CSV文件首行添加表头列表
批量给CSV文件首行添加表头的实现代码
原代码仅能给单个CSV文件末尾追加内容,现在修改为批量处理data文件夹下所有CSV文件,将指定表头插入到文件首行:
import os import csv # 定义需要添加的表头,替换成你的实际列名 header = ["列名1", "列名2"] # 目标文件夹路径 data_folder = "./data" # 遍历文件夹内所有文件 for filename in os.listdir(data_folder): # 只处理CSV格式文件 if filename.endswith(".csv"): file_path = os.path.join(data_folder, filename) # 读取原文件的所有内容 with open(file_path, "r", newline="", encoding="utf-8") as f: reader = csv.reader(f) original_rows = list(reader) # 写入表头+原内容,覆盖原文件 with open(file_path, "w", newline="", encoding="utf-8") as f: writer = csv.writer(f) writer.writerow(header) writer.writerows(original_rows) print(f"{filename} 已完成表头添加")
关键说明:
- 用
os.listdir遍历目标文件夹,通过endswith(".csv")精准筛选需要处理的文件 - 先读取原文件所有行到列表,再重新写入文件:先写表头,再写原有内容,实现表头插入首行的效果
- 加入
encoding="utf-8"避免中文乱码,若你的CSV文件用其他编码(如gbk)可自行调整 - 原代码里的
f_object.close()可以删除,with语句会自动管理文件句柄的关闭
内容的提问来源于stack exchange,提问作者Akansha
相关产品推荐
相关产品推荐

