Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python-使用open/np.load打开多个文件_Python_Numpy - Fatal编程技术网

Python-使用open/np.load打开多个文件

Python-使用open/np.load打开多个文件,python,numpy,Python,Numpy,我试图引入一系列文件——所有文件都具有相似的名称,但具有不同的编号结尾,以便在函数中使用 我正在尝试使用open('files'…)作为数据: 然后,我开始处理它们,但我不确定是否有一种方法可以做到这一点,而无需手动将它们全部导入 有没有一种方法可以说,对它们进行模式匹配,这样我就可以一个接一个地对它们进行处理,但方式相同?你能这样做吗 for filename in nameGeneration(): with open(filename) as data: doMyW

我试图引入一系列文件——所有文件都具有相似的名称,但具有不同的编号结尾,以便在函数中使用

我正在尝试使用open('files'…)作为数据: 然后,我开始处理它们,但我不确定是否有一种方法可以做到这一点,而无需手动将它们全部导入


有没有一种方法可以说,对它们进行模式匹配,这样我就可以一个接一个地对它们进行处理,但方式相同?

你能这样做吗

for filename in nameGeneration():
    with open(filename) as data:
        doMyWork(data)

对。假设所有文件都被称为
fileX.csv
,其中
X
是一个从1到10的数字。你做这样的事情的时候

import numpy as np

storage = {}
for i in range(1, 11):
    fname = 'file{}.csv'.format(i)
    storage[fname] = np.loadtxt(fname)
然后,您可以通过调用
storage['file1.csv']
来访问数据

或者你也可以试试字典理解

storage = {'file{}.csv'.format(i):np.loadtxt('file{}.csv'.format(i))
            for i in range(1, 10)}

与上面相同。

您可以
glob
查找所有文件:

from glob import glob
for fle in glob("path_to/foo*[0-9].whatever"):
    # f = np.load...

我不认为这可以用open函数存档。它为要打开的每个文件返回一个file对象,并且不可能向该函数传递路径列表

您可以定义一个包含路径的列表或一个用于管理不同文件对象的列表。(每个要打开的文件对应一个)

path=['path_1'、'path_2'、'path_3']
文件=[]
对于路径中的路径:
尝试:
追加(打开(路径,))
除IOError外:
打印“文件:{},无法打开或不存在”。格式(路径)
或用于:

for path in paths:
    try:
        with open(path, <mode>) as myData:
            my_function(myData)
    except IOError:
        print "File: {}, couldn't be opened or doesn't exist".format(path)
路径中的路径的
:
尝试:
打开(路径,)作为myData:
my_函数(myData)
除IOError外:
打印“文件:{},无法打开或不存在”。格式(路径)

argh。。。看起来你快了3秒:)
for path in paths:
    try:
        with open(path, <mode>) as myData:
            my_function(myData)
    except IOError:
        print "File: {}, couldn't be opened or doesn't exist".format(path)