Имеется файл в каждой строке которого содержится участок типа
name 1 “X”; name 2 “Y”;
где Х - пятнадцать символов, Y - число с 10ю знаками после запятой
В случае если значения name 1 одинаковые (повторяются), то нужно посчитать процентное значение для каждого name 2, если нет, то значение в процентах - 100, затем записать в конец строки проценты. При этом если значения повторяются, то они обязательно идут подряд.
Случай, когда надо было просто найти и посчитать проценты для значения во всех строках решился вот так
with open(N, 'r+') as f1: for number, line in enumerate(f1.readlines()): index = line.find('name 2') L = line[index+6:index+16] A = float(A) + float(L) f1.close () with open(N, 'r+') as f1: for number, line in enumerate(f1.readlines()): index = line.find('name 2') L = line[index+6:index+16] P = float(L) / float(A) * 100 f2.write(line [0:index+37] + ' percent = ' + str(P) + '\n')
но там была неизменная длина значения name 2
здесь же нужно сравнить значения из одного поля и при их совпадении вычислить проценты от значения другого поля, причем одинаковых name 1 может быть разное число и значение name 2 может быть разным по длине…
а как это сделать я не понимаю…
Заранее спасибо если подскажете как это реализрвать или что прочесть, чтобы понять как это сделать…