我的文件夹中有多个 numpy 数组 (.npy)。有没有办法在Python中自动读取所有这些内容?或者我需要手动输入他们的名字吗?我找不到与从 Python 文件夹中读取多个 numpy 数组相关的信息。
最佳答案
您可以使用glob
获取与指定*.npy
模式匹配的所有.npy
文件。 glob.glob 返回路径名列表,glob.iglob 返回迭代器,而不是同时存储所有路径名(如果您有大量文件,这将很有用)。这是一个小例子:
代码:
import os
import glob
import numpy as np
# Let's create folder
folder = './np_arrays'
try:
os.mkdir(folder)
except OSError:
print('Folder exists!')
# Some dummy arrays
a = np.zeros((1, 5))
b = np.ones((1, 5))
# Save them as .npy to the created folder
np.save(os.path.join(folder, 'a'), a)
np.save(os.path.join(folder, 'b'), b)
# Getting all the numpy arrays .npy files based on matching pattern (*.npy)
file_paths = glob.glob(os.path.join(folder, '*.npy'))
print(file_paths)
# Import arrays from folder and store them as a dict
array_dict = {os.path.basename(f)[0]: np.load(f) for f in file_paths}
print(array_dict)
输出:
['./np_arrays/a.npy', './np_arrays/b.npy']
{'a': array([[0., 0., 0., 0., 0.]]), 'b': array([[1., 1., 1., 1., 1.]])}
关于python - 如何从文件夹中读取多个numpy数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57281817/