我对python非常陌生。我经常收到文本文件,其中包含电话号码的格式多种多样。我正在尝试创建一个Python脚本,该脚本采用此文本文件并将其标准化为我可以使用的格式。
我正在尝试删除所有符号和空格,只保留数字。以及在开头添加+1
,并在末尾添加逗号(,
)。
import re
with open("test_numbers.txt") as file:
dirty = file.read()
clean = re.sub(r'[^0-9]', '', dirty)
print clean
我正在尝试使用正则表达式,但是它将所有内容放在一行中。也许我要解决所有这些错误。我还没有办法在数字的开头添加+1
或在结尾添加逗号。不胜感激。
答案 0 :(得分:2)
这可能会帮助您:
import re
with open('test_numbers.txt') as f:
dirty = f.readlines()
clean = []
for l in dirty:
clean.apped('+1{},\n'.format(re.sub(r'[^0-9]', '', l)))
clean
将是一行的列表,其开头为+1
,结尾为,
。然后,您可以使用以下方法将其保存到文本文件中:
with open('formatted_numbers.txt', 'w') as f:
f.writelines(clean)
您还可以使用列表理解功能使用一个班轮:
clean = ['+1{},\n'.format(re.sub(r'[^0-9]', '', l)) for l in dirty]