Python删除特定行“”

时间:2018-07-06 09:36:04

标签: python csv

我目前正在编写一个将电话号码多余的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()

谢谢。

1 个答案:

答案 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']