如何用Python循环加载多个txt文件并拼接生成2000×5矩阵
问题修复方案
原代码存在以下问题:
- 循环区间错误:
range(1001)生成01000共1001个数值,你需要的文件序号是11000,且文件名缺少下划线拼接,会生成不存在的文件名 - 加载参数错误:
np.loadtxt(r"filename")给参数加了引号,实际传入的是固定字符串filename,而非你拼接的文件名变量 - 缺少矩阵存储逻辑:每次循环都会覆盖变量P,没有保留所有文件的矩阵内容,也没有做拼接操作
修正后的实现代码如下:
import numpy as np # 初始化列表存储所有加载的矩阵 matrix_list = [] # 循环范围对应1到1000的文件序号 for i in range(1, 1001): # 拼接生成正确的文件名 filename = f'A_{i}.txt' # 加载当前文件的2×5矩阵 current_mat = np.loadtxt(filename) matrix_list.append(current_mat) # 垂直拼接所有矩阵得到2000×5的总矩阵 total_mat = np.vstack(matrix_list)
可通过print(total_mat.shape)验证最终矩阵尺寸是否符合要求。
内容的提问来源于stack exchange,提问作者Sadcow
相关产品推荐
相关产品推荐

