我的 CSV 文件有一些电子邮件地址。其中一些地址不完整。如何使用 python 使它们完全可识别?
my CSV file have some email addresses. Some of them have incomplete address. How do I make them fully recognizable using python?
我是 python 的数据科学初学者。
我正在处理一个数据集,我必须在其中执行以下任务:
使用 Python petl:
a.清理clinics.csv
中的数据。这涉及使用 python 和 Regex 来
标准化电子邮件地址,以便它们可用作 html link 和
b.将合并和清理后的数据输出到CSV文件中,名称为
clinic_locations.csv
.
所以,到目前为止,我能够处理一部分点 (b),即我已经很容易地从 xml 文件中提取数据并将其组合与 csv 文件。
但问题是
我无法清理 CSV 文件的数据
这是我的 CSV 文件:
ID Name Suburb State Postcode Email
1 Hurstville Clinic Hurstville NSW 1493 hurstville
2 Sydney Centre Clinic Sydney NSW 2000 sydney@myclinic.com.au
3 Auburn Clinic Auburn NSW 2144 auburn@myclinic.com.au
4 Riverwood Clinic Riverwood NSW 2210 riverwood@myclinic.com.au
如您所见,电子邮件列中的数据不完整,整个 link 无法使用。
谁能帮助我从头开始。
更新:
我得到的输出是
ID Name Suburb State Postcode \
0 1 Hurstville Clinic Hurstville NSW 1493
1 2 Sydney Centre Clinic Sydney NSW 2000
2 3 Auburn Clinic Auburn NSW 2144
3 4 Riverwood Clinic Riverwood NSW 2210
4 5 Fingal Bay Clinic Fingal Bay NSW 2315
5 6 Harrington Clinic Harrington NSW 2427
6 7 Back Forest Clinic Back Forest NSW 2535
7 8 Jindabyne Clinic Jindabyne NSW 2627
8 9 Benolong Clinic Benolong NSW 2830
9 10 Melbourne Centre Clinic Melbourne VIC 3000
Email
0 hurstville@myclinic.com.au
1 sydney@myclinic.com.au
2 auburn@myclinic.com.au
3 riverwood@myclinic.com.au
4 fingal bay@myclinic.com.au
5 harrington@myclinic.com.au
6 back forest@myclinic.com.au
7 jindabyne @myclinic.com.au
8 benolong@myclinic.com.au
9 melbourne@myclinic.com.au
假设您的所有电子邮件 ID 都具有相似的域,我希望这会有所帮助:
import pandas as pd
df=pd.read_csv("clinic_locations.csv") #Provide complete path to your file
df['Email']=df['Email'].apply(lambda x: x if '@' in str(x) else str(x)+'@myclinic.com.au')
#To see data frame
print(df.head(10))
我是 python 的数据科学初学者。 我正在处理一个数据集,我必须在其中执行以下任务: 使用 Python petl:
a.清理clinics.csv
中的数据。这涉及使用 python 和 Regex 来
标准化电子邮件地址,以便它们可用作 html link 和
b.将合并和清理后的数据输出到CSV文件中,名称为
clinic_locations.csv
.
所以,到目前为止,我能够处理一部分点 (b),即我已经很容易地从 xml 文件中提取数据并将其组合与 csv 文件。 但问题是
我无法清理 CSV 文件的数据
这是我的 CSV 文件:
ID Name Suburb State Postcode Email
1 Hurstville Clinic Hurstville NSW 1493 hurstville
2 Sydney Centre Clinic Sydney NSW 2000 sydney@myclinic.com.au
3 Auburn Clinic Auburn NSW 2144 auburn@myclinic.com.au
4 Riverwood Clinic Riverwood NSW 2210 riverwood@myclinic.com.au
如您所见,电子邮件列中的数据不完整,整个 link 无法使用。 谁能帮助我从头开始。
更新: 我得到的输出是
ID Name Suburb State Postcode \
0 1 Hurstville Clinic Hurstville NSW 1493
1 2 Sydney Centre Clinic Sydney NSW 2000
2 3 Auburn Clinic Auburn NSW 2144
3 4 Riverwood Clinic Riverwood NSW 2210
4 5 Fingal Bay Clinic Fingal Bay NSW 2315
5 6 Harrington Clinic Harrington NSW 2427
6 7 Back Forest Clinic Back Forest NSW 2535
7 8 Jindabyne Clinic Jindabyne NSW 2627
8 9 Benolong Clinic Benolong NSW 2830
9 10 Melbourne Centre Clinic Melbourne VIC 3000
Email
0 hurstville@myclinic.com.au
1 sydney@myclinic.com.au
2 auburn@myclinic.com.au
3 riverwood@myclinic.com.au
4 fingal bay@myclinic.com.au
5 harrington@myclinic.com.au
6 back forest@myclinic.com.au
7 jindabyne @myclinic.com.au
8 benolong@myclinic.com.au
9 melbourne@myclinic.com.au
假设您的所有电子邮件 ID 都具有相似的域,我希望这会有所帮助:
import pandas as pd
df=pd.read_csv("clinic_locations.csv") #Provide complete path to your file
df['Email']=df['Email'].apply(lambda x: x if '@' in str(x) else str(x)+'@myclinic.com.au')
#To see data frame
print(df.head(10))