我目前正在编写一个将电话号码多余的python程序写入文件。
由于数据质量不是很好,但是我们有一些空白。 该文件如下所示:
xxxxx
1241515151
""
""
""
""
""
+43 2414141414
0221412414
""
01989797 8
214141
我的问题是如何删除带有“”的行。
我尝试过:
f = open("fastlane.txt","r+")
d = f.readlines()
f.seek(0)
for i in d:
if i != " ""$ ":
f.write(i)
f.truncate()
f.close()
谢谢。
答案 0 :(得分:2)
您可以使用正则表达式轻松完成此操作
您可以过滤包含+
或-
或空格的数字和特殊字符
import re
with open("fastlane.txt","r+") as f:
re.findall(r'[\d +-]+', f.read())
# ['1241515151', '+43 2414141414', '0221412414', '01989797 8', '214141']
或者过滤除引号和换行符之外的所有内容
re.findall(r'[^"\n]+', f.read())
# ['xxxxx', '1241515151', '+43 2414141414', '0221412414', '01989797 8', '214141']