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点调试它…到目前为止你尝试了什么?到目前为止你尝试了什么?