使用Python规范电话号码

时间:2018-06-21 22:47:31

标签: python

我对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或在结尾添加逗号。不胜感激。

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]