Найти - Пользователи
Полная версия: работа с несколькими строками из файла
Начало » Python для новичков » работа с несколькими строками из файла
1
rivawi
Доброго времени суток

Имеется файл в каждой строке которого содержится участок типа
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 может быть разным по длине…
а как это сделать я не понимаю…

Заранее спасибо если подскажете как это реализрвать или что прочесть, чтобы понять как это сделать…
sp3
split вам подойдет здесь.
На будущее почитайте о re
py.user.next
rivawi
f1.close ()
файл уже закрыт автоматически с помощью with

rivawi
В случае если значения name 1 одинаковые (повторяются), то нужно посчитать процентное значение для каждого name 2, если нет, то значение в процентах - 100, затем записать в конец строки проценты.
лучше пример файла ввода и пример файла результата
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB