仅将区号“84”添加到 Python中缺少区号的电话号码

我正在尝试清理一些数据。一些员工的电话号码列(int64)有区号,而其他员工的电话号码中缺少区号。是否有一些方法,我可以用来将号码前的区号(84)添加到缺少区号的电话号码?其次,我想删除所有号码前面的“+”号。

我正在尝试清理一些数据。一些员工的电话号码列(int64)有区号,而其他员工的电话号码中缺少区号。是否有一些方法,我可以用来将号码前的区号(84)添加到缺少区号的电话号码?其次,我想删除所有号码前面的“+”号。

我正在使用 Python。该列看起来像这样:

Mobile

84333605993

973444062----加 84

84339769174

+ 84349251856---删除 +

0
phone_number = phone_number.replace("+","")
if (len(phone_number)==9)
    phone_number = "84" + phone_number

首先,您可以将 '+' 替换为无,然后检查 phone_number 是否有 9 位数字。如果是这样,则添加区域代码。phone_number 是我选择包含电话号码的变量。现在,您必须使用 probably for 方法将其应用于所有列表(您没有提到如何存储该值)。如果是熊猫,则可以执行此功能并将其应用于整个列。

0
df = pd.DataFrame(['84333605993', '973444062', '84339769174', '+84349251856'], columns=['Mobile'])
df['Mobile'] = df['Mobile'].str.replace('+', '')
df.loc[~df['Mobile'].str.startswith('84'), 'Mobile'] = '84' + df[~df['Mobile'].str.startswith('84')]['Mobile']
df
    Mobile
0   84333605993
1   84973444062
2   84339769174
3   84349251856
0

此函数将

删除+,如果它存在于电话号码的开头

如果电话号码的长度等于 9,则向其添加区号(84)。

def clean_phone_number(n):
    n = n.replace('+', '')
    # Add the area code 84 if len(n) == 9
    if len(n) == 9:
        n = '84' + n
    return n
print(clean_phone_number('952368741'))
print(clean_phone_number('+84475968475'))
print(clean_phone_number('84456968475'))
Output
84952368741
84475968475
84456968475
0

我认为这个代码片段应该做的伎俩:

numbers = ['84333605993',
           '973444062',
           '84339769174',
           '+84349251856']
corrected = []
for number in numbers:
    number = number.strip('+')  # removes +
    if len(number) == 9:
        number = '84' + number  # adds 84
    corrected.append(number)
print(corrected)
Output:
['84333605993', '84973444062', '84339769174', '84349251856']

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(344)
什么是“参数相关查找”(又名ADL或“Koenig查找”)
上一篇
是否有任何关于Office365SSO使用python的文档
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(59条)