Как мне узнать номер строки в файле и забрать из нее данные?
У меня есть 2 файла. В одном и в другом построчно написаны данные. Мне нужно взять определенную строку в одном файле и по номеру строки найти данные в другом файле (может это можно сделать и не по номеру строки). Можете объяснить как это лучше сделать в плане кода. При том что в файлах разные данные и каждая строка одного файла связана с каждой строкой другого. Мне нужно взять данные из второго файла, зная в каком ряду нужные мне данные в первом файле.
Первый файл:
14CaBzRbZDuGJCAdu9CZsbrCfyv4K7f7sf;31
0xd4FD252d7D2C9479a8d616F510eAC6243B5DDdf9;3
3Dxvjt7N8sbeUoTbASF5dBqEeSMc1o7Pk1;12
0x944680402B2Ba554f978714b6039755ED10e7466;8
Второй файл:
0.0
0.0
7.91778246
0.5476858867775038
Ответы (2 шт):
Автор решения: S. Nick
→ Ссылка
попробуйте так:
line = 2
with open("fil1_1.txt", "r") as f1, open("fil1_2.txt", "r") as f2:
rows_1 = f1.readlines()
rows_2 = f2.readlines()
if len(rows_1) > line and len(rows_2) > line:
print(f'стоке {rows_1[line]}'
f'соответствует строка {rows_2[line]} (соответствие по номеру записи)')
А как мне узнать номер строки в первом файле? Или может как то по другому можно решить вопрос?
rows_1 = ['item1', 'item2', 'item3', 'item4',]
rows_1.index('item1') # 0
rows_1.index('item2') # 1
rows_1.index('item3') # 2
# ...
Автор решения: alex
→ Ссылка
Если файл большой
with open("first file", "r") as first, open("second file", "r") as second:
while True:
try:
f_line = next(first).strip()
s_line = next(second).strip()
print(f_line, s_line)
except StopIteration:
exit(0)
Если не большой)
with open("first file", "r") as first, open("second file", "r") as second:
one = (x.strip() for x in first)
two = (x.strip() for x in second)
coins = dict(zip(one, two))
print(coins)