如何通过校验首尾文件生成批量csv读取所需的文件名列表
生成文件名列表实现方法
你可以通过指定首尾文件的序号,配合Python字符串格式化批量生成符合命名规则的文件名列表,具体实现如下:
核心代码(生成files列表)
# 自定义首尾文件的序号,对应file_0001.csv是1,file_1000.csv是1000 start_id = 1 end_id = 1000 # 生成补零为4位的文件名列表 files = [f"file_{num:04d}.csv" for num in range(start_id, end_id + 1)]
其中f"{num:04d}"为格式化语法,作用是将整数转换为4位长度的字符串,长度不足时左侧用0填充,完全匹配你的文件命名规则。
完整可运行代码(含路径优化)
原代码直接拼接路径容易出现分隔符缺失、跨系统不兼容的问题,推荐用os.path.join处理路径:
import numpy as np import pandas as pd import os # 配置参数 folder_path = "folder" # 存放csv的文件夹路径 start_id = 1 end_id = 1000 # 生成文件名列表 files = [f"file_{num:04d}.csv" for num in range(start_id, end_id + 1)] # 迭代读取文件 all_data = [] # 若需要合并所有数据可初始化该列表 for file_name in files: full_path = os.path.join(folder_path, file_name) data = pd.read_csv(full_path).values all_data.append(data) # 可选:把单文件数据加入列表 # 可选:合并所有文件的数据为一个numpy数组 # merged_data = np.vstack(all_data)
注意事项
- 如果你的文件序号不是连续的,该方法会生成不存在的文件名导致读取报错,使用前请确认序号区间内的文件都存在
- 若需要自动读取文件夹下所有符合命名规则的文件而不是指定首尾序号,可以搭配
glob模块实现
内容的提问来源于stack exchange,提问作者Fly
相关产品推荐
相关产品推荐

