Я супер новичок в программировании, поэтому я, возможно, спрошу кое-что очень простое.У меня есть файл, который состоит из координат x, y, z и четвертого значения, и второй файл со значениями x, y, z.Координаты второго файла случайным образом содержатся в первом файле.Я хотел найти в первом файле точные координаты второго файла и, если они совпадают, изменить четвертое значение первого файла.
Я написал что-то, что работает, ноэто очень много времени (это занимает три часа ..).Первый файл содержит около 300K строк и 4 столбца, а второй - около 100K и три столбца.
Ниже кода, который я написал:
import numpy as np
with open('first file.txt', 'r') as t1:
l1=[]
for line in t1:
split = line.split()
l1.append((float(split[0]),float(split[1]),float(split[2]),float(split[3])))
l3=np.asarray(l1)
with open('second file.txt', 'r') as t2:
l2=[]
for line in t2:
split = line.split()
l2.append((float(split[0]),float(split[1]),float(split[2])))
with open('result file.txt', 'w') as outFile:
for i in l3:
for j in l2:
if i[0]==j[0] and i[1]==j[1] and i[2]==j[2]:
i[3]+=970000000
#outFile.write(i)
#print(i[3])
np.savetxt("result file.txt",l3,fmt='%7.4f'*3+'%10.3f')
Если у вас есть какие-либо советы по ускорению этого процесса, пожалуйста, дайте мне знать!