在我所说的目录中,有 30 个 txt 文件,每个文件包含两列数字,每列大约有 6000 个数字。我想做的是导入前 3 个 txt 文件,处理给我所需输出的数据,然后我想转到下 3 个 txt 文件。
该目录如下所示:
文件0a
文件0b
文件0c
文件1a
文件1b
file1c ...等等。
我不想同时导入所有的 txt 文件,我想导入前 3 个,处理数据,然后是下 3 个,依此类推。我正在考虑制作一本字典——尽管我觉得这可能涉及在字典中写入每个文件名,这将花费太长时间。
编辑:
对于那些感兴趣的人,我想我已经想出了一个解决方法。任何反馈都将不胜感激,因为我不确定这是最快的做事方式还是最pythonic的方式。
import glob
def chunks(l,n):
for i in xrange(0,len(l),n):
yield l[i:i+n]
Data = []
txt_files = glob.iglob("./*.txt")
for data in txt_files:
d = np.loadtxt(data, dtype = np.float64)
Data.append(d)
Data_raw_all = list(chunks(Data,3))
这里的“Data”列表是目录中的所有文本文件,“Data_raw_all”使用函数“chunks”将“Data”中的元素分组为 3 个一组。这样,您可以在 Data_raw_all 中选择一个元素来选择目录中对应的3个文本文件。