python - 在 Python 中删除包含特定数字的行
问题描述
我想知道是否有办法从包含特定数字(或数字)的文件中删除行。
我知道有一种方法可以删除包含特定字符串的行,但我想删除包含特定数字的行。
假设我有一个包含以下数据的文本文件:
201 740 0
202 288 4
202 294 3
202 330 5
202 358 1
202 259 0
我想删除包含数字 0 的行,只是 0(不是 201、202 或任何其他包含 0 的数字)。
我希望示例输出为:
201 740 0
202 259 0
我该怎么做呢?
我尝试了以下方法:
with open('oldfile.txt') as infile, open('newfile.txt', 'w') as outfile:
for line in infile:
if '0':
outfile.write(line)
但它仍然写每一行,我只想要那些本身有数字0的行。
提前致谢!
解决方案
你可以试试:
if line.strip().endswith(" 0"):
pass
else:
outfile.write(line)
跳过以“0”结尾的行outfile
推荐阅读
- python - 如何在熊猫 barh 图中仅堆叠选定的列
- python - pandas.to_csv 不将浮点值显示为小数点后 2 位
- python - 为什么第 7 行中的变量 url 不显示为 varibal?
- python - 如何检测数据帧列中逻辑序列中的错误?
- php - 生成二维码并合并到编辑后的 JPG 文件中
- image - ASP.NET MVC 中的图像
- python-3.x - 如果我将从 db 获取的索引号存储在变量中并在按索引从列表中选择时使用,m 得到错误作为预期字符串,int found-Robot Framework
- iteration - 赛普拉斯:检查href列表,断言它们不包含某个字符串
- python - 如何将 pytest 固定装置拆解与多次调用的函数一起使用?
- android - Android 上的 Xamarin Forms 初始图像纵横比