【问题标题】:Formating phone number in Pandas在 Pandas 中格式化电话号码
【发布时间】:2021-10-20 22:40:54
【问题描述】:

我正在处理一个包含电话号码的数据库,试图添加另一列来说明每个号码来自哪个国家/地区。我尝试了许多不同的版本,这是当前版本。 我不断收到此错误:

Traceback (most recent call last):
  File "***PycharmProjects/DataTools/datatools.py", line 11, in <module>
    parsed_number = phonenumbers.parse(number, region=None)
  File "***PycharmProjects/DataTools/venv/lib/python3.8/site-packages/phonenumbers/phonenumberutil.py", line 2849, in parse
    raise NumberParseException(NumberParseException.INVALID_COUNTRY_CODE,
phonenumbers.phonenumberutil.NumberParseException: (0) Missing or invalid default region.
import pandas as pd
import phonenumbers

path = '****'
df = pd.read_excel(path, sheet_name='United_List', dtype=str)
# Normelize phone number
df['Phone'] = df['Phone'].str.replace(r'[^0-9]+', "", regex=True)
for number in df['Phone']:
    #number = "+" + number
    print(number)
    parsed_number = phonenumbers.parse(number, region=None)
    print(parsed_number)
print(df['Phone'])

# df.to_excel(path, sheet_name="United_List")

我不要求任何人为我解决这个问题,只要为我指明正确的方向就可以了,这样我就可以提高自己。 谢谢

【问题讨论】:

  • 请问您有电话号码的样本吗?
  • 919845542411 9259008390 9293320729 9485 9545342144 9705993782811 972001203246978614087651337 14088028780 14088340679 14088960433 14123912486 14152009648 14153289316 跨度>

标签: python pandas phone-number


【解决方案1】:

我刚刚创建了一个虚拟数据,并且在您的 for 循环之前工作正常。

我建议只需创建一个新列

df['new_phone'] = df[['phonenumber', 'country']].agg('+'.join, axis=1)

【讨论】:

    猜你喜欢
    • 2014-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多