繁体   English   中英

将多个文件的内容存储在数组Python中

[英]Store contents of several files in an array Python

我有一个包含许多文件的目录,结构为n rows x 2 columns 我想做的就是以最终数组的形状(nfiles,nrows,2)的方式存储这些文件的内容。 类似于

array = numpy.array([[[1,1], [1,1], [1,1]], [1,1], [1,1], [1,1]]])

但是如何处理几个文件呢?

我试过了

fnames = glob.glob(/path/to/directory/"*.txt")
final_array = [numpy.genfromtxt(fname) for fname in fnames]

但最终形状是(nfiles),并且numpy.reshape无法正常工作。

import pandas as pd
df_list = [pd.read_csv(filename, header=None, sep=" ") for filename in fnames]
comb = pd.concat(df_list, ignore_index=True, sort=False)

我可以创建一个包含所有文件内容(按顺序排列)的2列数组。 有没有办法将其分成几部分进行整形(每个文件的行数都相同)? 请注意,我不想为每个文件使用单独的数组,而只需要一个数组

谢谢大家的帮助

使用np.stack或如果您要循环读取一堆文件:

import numpy as np
a = np.zeros(m,n,2) 

for i in range(m):
# code here
    a[i,:,:] = df_list
# code here

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM