Форум сайта python.su
0
Доброго времени суток
Имеется файл в каждой строке которого содержится участок типа
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')
Офлайн
18
split вам подойдет здесь.
На будущее почитайте о re
Офлайн
857
rivawiфайл уже закрыт автоматически с помощью withf1.close ()
rivawiлучше пример файла ввода и пример файла результата
В случае если значения name 1 одинаковые (повторяются), то нужно посчитать процентное значение для каждого name 2, если нет, то значение в процентах - 100, затем записать в конец строки проценты.
Офлайн