В каталоге, который я скажу, 30 файлов txt, каждый из которых содержит два столбца чисел с примерно 6000 номерами в каждом столбце. Я хочу, чтобы импортировать первые 3 файла txt, обрабатывать данные, которые дают мне желаемый результат, а затем я хочу перейти на следующие 3 текстовых файла.Python - импортировать txt в последовательном шаблоне
каталог выглядит следующим образом:
file0a
file0b
file0c
file1a
file1b
file1c ... и так далее.
Я не хочу импортировать все файлы файлов txt одновременно, я хочу импортировать первые 3, обрабатывать данные, затем следующие 3 и так далее. Я думал о создании словаря, хотя я чувствую, что это может включать в себя запись каждого имени файла в словаре, что слишком долгое время.
EDIT:
Для тех, кто заинтересован, я думаю, что я пришел с работы вокруг. Любая обратная связь будет очень признательна, так как я не уверен, что это самый быстрый способ сделать что-то или самое пифоническое.
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» использует функцию «ломти» сгруппировать элементы в «Data» в наборы 3. Таким образом, вы можете выбор одного элемента в Data_raw_all выбирает соответствующие 3 текстовых файла в каталоге.
Вы не сможете открыть файлы без имен файлов. Действительно ли они называются file1a и т. Д. Или являются ли эти заполнители? – rlms
Имена файлов называются UVF2CNa1ai, UVF2CNa1aj и UVF2CNa1ak. Однако для верности я назвал их file1a и так далее. Предполагая, что они называются file1a и т. Д. - можно ли это сделать? – Holtz
Итак, имена файлов сгруппированы по тем же первым 8 символам, а затем разделены группами, заканчиваясь на i, j и k? – rlms