удалить все кроме строк с% и удалить% - PullRequest
0 голосов
/ 24 января 2020

пример:

1
Yuumi
78.57%
2075
1956
0.64
62.8
Thresh
77.59%
1079
917
0.83
19.3
Braum
76.00%
1868
1315
1.44
38.0

я хочу, чтобы это было:

78.57
77.59
76.00

(числа с%)

пытался искать на форумах и использовать readlines от файл и прочее, но я новичок и не смог заставить его работать, так что да python, заранее спасибо

Ответы [ 3 ]

2 голосов
/ 24 января 2020
with open('path/to/the/file') as fd:
    for line in fd:
        if '%' in line:
            print(line.strip().replace('%', ''))

или вы можете сделать это в оболочке:

grep "%" filename | sed 's/%//g' >newfile
1 голос
/ 25 января 2020

Вы можете использовать регулярные выражения :

import re

with open("file.txt") as f:
    for line in f:
        r = re.search(r'(\d+(\.[\d]+)?)%', line)
        if r:
            print(r.group(1))

И на ваших данных образца это дает:

78.57
77.59
76.00

regex demo

0 голосов
/ 24 января 2020

Допустим, вы прочитали все свои входные данные в список. Вы можете попробовать это.

inp = ['1', 'Yuumi', '78.59%', ...]
out = [float(a.remove('%')) for a in inp if '%' in a]

Вы можете получить все свои входные данные из файла в список, если вы сделаете

with open('my_file.txt') as file:
    inp = file.read.splitlines()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...