У меня есть файл (merged-control.txt
), в который я объединял содержимое других файлов. В нем объединено более 10000 файлов, и структура выглядит следующим образом:
control-part1.txt
1 10 12
1 34 44
2 1 -3
3 4 -10.3
3 3.390 4
4 43 3
control-part2.txt
1 -90.3 2
2 32 3
3 43 -20
4 2 2
До того, как я прочитал каждый файл (control-part1.txt, control-part2.txt, ...)
отдельно (они находятся в одной папке), и я использовал:
filePath = "/path/to/control/files"
file_counter = 0
for filename in glob.glob(os.path.join(filePath, 'control*.txt')):
file_counter += 1
#print filename
shortname = filename.strip().split('/')[-1]
types = shortname.strip().split('-')[0]
print types
numbers_table=open(filename,'r')
for line in numbers_table:
print line
indexes = line[0].strip()
firsts = line[1].strip()
seconds = line[2].strip()
Поскольку сложнее было хранить ~ 10000 файлов в одной папке, я объединил их.
Я попытался разбить строки с помощью partition
:
with open('merged-control.txt') as f:
chunks = []
for line in f:
chunk = line.strip().partition("control")
print chunk[0]
chunks.append(chunk)
print chunks
И это дает:
1 10 12
1 34 44
2 1 -3
3 4 -10.3
3 3.390 4
4 43 3
1 -90.3 2
2 32 3
3 43 -20
4 2 2
[('', 'control', '-part1.txt'), ('1 10 12', '', ''), ('1 34 44', '', ''), ('2 1 -3', '', ''), ('3 4 -10.3', '', ''), ('3 3.390 4', '', ''), ('4 43 3', '', ''), ('', 'control', '-part2.txt'), ('1 -90.3 2', '', ''), ('2 32 3', '', ''), ('3 43 -20', '', ''), ('4 2 2', '', '')]
Теперь файлы не отделены друг от друга, и я не могу добраться до индекса, первого столбца и второго столбца каждого файла.
Как я могу прочитать каждый файл, когда они находятся в одном файле?