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

2024-10-03 21:24:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在整理一些数据。的电话号码列(int64) 有些员工有区号,但电话里没有区号 其他员工的电话号码。有没有办法,, 我可以用它将号码前的区号(84)添加到那些 你没有区号吗?其次,我想删除所有数字前面的“+”号

我正在使用Python。该列如下所示:

流动的

84333605993

973444062----加84

84339769174

+84349251856----移除+


Tags: 数据员工电话号码数字整理号码电话办法
3条回答
phone_number = phone_number.replace("+","")
if (len(phone_number)==9)
    phone_number = "84" + phone_number

首先,您可以将“+”替换为零,然后检查电话号码是否有9位数字。如果是,请添加区号。电话号码是我选择包含电话号码的变量。现在您必须使用maybuly for方法将其应用于所有列表(您没有提到如何存储这些值)。对于pandas,您可以从中执行一个函数,并将其应用于整个列

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

此功能将

  • 删除电话号码开头的+
  • 如果电话号码的长度等于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

相关问题 更多 >