Как извлечь строку (числа) из текстового файла и преобразовать в целые числа с помощью регулярных выражений в Python - PullRequest
0 голосов
/ 07 ноября 2019

прочитайте и проанализируйте файл с текстом и цифрами. извлечь все числа в файле и вычислить сумму чисел. прикрепленный txt файл

Это для Python 3 и выше.

import re
names=open("regex_sum_319771_actual.txt")
numlist = list()
for files in names:
    files = files.rstrip()
    ext =re.findall('([0-9]+)',files)
    if len(ext)!= 1 :
        continue
    num = int(ext[0])
    numlist.append(num)
print('done',sum(numlist))


#the sum should give me an output ending with 689

Ответы [ 2 ]

0 голосов
/ 07 ноября 2019

Вы можете перебирать char по char.

import re
names = open("regex_sum_319771_actual.txt", 'r')
nbr = []
for line in names:
    for carac in line:
       if re.match(r'\d', carac):
            nbr.append(int(carac))

print(sum(nbr))
names.close()
0 голосов
/ 07 ноября 2019

, которое будет работать:

import re


with open("regex_sum_319771_actual.txt", "r") as f:
    nums = re.findall(r'([0-9]+)', f.read())
    print(sum([int(i) for i in nums]))

PS : не забудьте закрыть файл после прочтения, если вы не используете with выражение

...