Python 删除除带有%的行以外的所有内容,并删除%

Python 删除除带有%的行以外的所有内容,并删除%,python,python-3.x,text,Python,Python 3.x,Text,例如: 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 (数字以百分比表示) 我试着在论坛上查找并使用来自文件和其他东西的阅读行,但我是一个初学者,所以无法让它工作这么久 在python中,请提前感谢 with open('path/to/the/file') as fd: for

例如:

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
(数字以百分比表示)

我试着在论坛上查找并使用来自文件和其他东西的阅读行,但我是一个初学者,所以无法让它工作这么久 在python中,请提前感谢

with open('path/to/the/file') as fd:
    for line in fd:
        if '%' in line:
            print(line.strip().replace('%', ''))
或者您也可以在shell中执行此操作:

grep "%" filename | sed 's/%//g' >newfile
或者您也可以在shell中执行此操作:

grep "%" filename | sed 's/%//g' >newfile

假设您已将所有输入读入列表。你可以试试这个

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()

假设您已将所有输入读入列表。你可以试试这个

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()
您可以使用:

根据您的样本数据,可以得出:

78.57
77.59
76.00

您可以使用:

根据您的样本数据,可以得出:

78.57
77.59
76.00


非常感谢。这个答案很明确,一点也不聪明,也很无聊。我喜欢它。这就是我想要在凌晨2点调试的代码,当事情发生故障时。@KirkStrauser该代码的另一个惊人的特性是它从不中断,所以没有人需要在凌晨2点调试它……非常感谢。这个答案很明确,一点也不聪明,也很无聊。我喜欢它。这就是我想要在凌晨2点调试的代码,当事情发生故障时。@KirkStrauser该代码的另一个惊人的特性是它从不中断,所以没有人需要在凌晨2点调试它…到目前为止你尝试了什么?到目前为止你尝试了什么?