import pandas as pd
df=pd.read_html('http://www.advpalata28.ru/reestr/reestr-advokatov/')
df[0].to_excel("link14.xlsx",encoding='utf-8')
I want to get email
only from these text these is page link http://www.advpalata28.ru/reestr/reestr-advokatov/:
676740, Амурская обл, Архара пгт, Ленина ул, 76 E-mail: [email protected]
CodePudding user response:
You can split by E-mail:
in Адрес места работы
column
df['Email'] = df['Адрес места работы'].str.split('E-mail: ').str[1]
CodePudding user response:
The TypeError comes from:
df=pd.read_html('http://www.advpalata28.ru/reestr/reestr-advokatov/')
Which returns a list of DataFrames instead of a DataFrame as you expected. The list only contains one DataFrame so using the following code should work:
import pandas as pd
df=pd.read_html('http://www.advpalata28.ru/reestr/reestr-advokatov/')
df = df[0]
df['Email'] = df[5].str.split('E-mail: ').str[1]
df.to_excel("link14.xlsx",encoding='utf-8')
CodePudding user response:
A proper solution would be based on regex - extracting the email addresses and placing them in a new column. The following code is extracting email addresses, and also creating a csv file with the results:
import pandas as pd
import re
dfs = pd.read_html('http://www.advpalata28.ru/reestr/reestr-advokatov/')
df = dfs[0]
new_header = df.iloc[0]
df = df[1:]
df.columns = new_header
df['email'] = df.apply( lambda row: ''.join(re.findall("([a-zA-Z0-9_. -] @[a-zA-Z0-9-] \.[a-zA-Z0-9-.] )", str(row['Адрес места работы']))), axis=1)
df.to_csv('email_addresses.csv')
print(df.head())
Result:
№ п/п Ф.И.О., № удостоверения Удостоверение Рег. № Место работы Адрес места работы Телефон email
1 NaN Архаринский р-н NaN NaN NaN NaN NaN
2 1 Корякина Елена Николаевна №615 от 10.03.16 28/527 Адвокатский кабинет 676740, Амурская обл, Архара пгт, Ленина ул, 7... м. 89638027570 [email protected]
3 2 Матвейко Марина Валентиновна №616 от 10.03.16 28/528 Адвокатский кабинет 675000, Амурская обл, Архара пгт, Ленина ул, 9... м.89622949042 [email protected]
4 3 Руднев Анатолий Леонтьевич №335 от 17.06.05 28/324 Адвокатский кабинет 676740, Амурская обл, Архара пгт, Калинина ул,... м.89622949506 [email protected]
5 NaN Белогорск NaN NaN NaN NaN NaN