раздеть ячейку фрейма данных и создать столбцы - PullRequest
0 голосов
/ 03 октября 2018

Я пытаюсь взять информацию из фрейма данных и разбить ее на столбцы со следующими именами заголовков.информация все забита в 1 ячейку.

новичок в питоне, так что будьте осторожны.

спасибо за помощь

мой код:

r=requests.get('https://nclbgc.org/search/licenseDetails?licenseNumber=80479')

page_data = soup(r.text, 'html.parser')
company_info = [' '.join(' '.join(info.get_text(", ", strip=True).split()) for info in page_data.find_all('tr'))]
df = pd.DataFrame(company_info, columns = ['ic_number, status, renewal_date, company_name, address, county, telephon, limitation, residential_qualifiers'])


print(df)

результат, который я получаю:

['License Number, 80479 Status, Valid Renewal Date, n/a  Name, DLR Construction, LLC Address, 3217 Vagabond Dr Monroe, N
C 28110 County, Union Telephone, (980) 245-0867 Limitation, Limited Classifications, Residential Qualifiers, Arteaga, Vi
cky Rodriguez']

Ответы [ 2 ]

0 голосов
/ 03 октября 2018

Вы можете использовать read_html с некоторой последующей обработкой:

url = 'https://nclbgc.org/search/licenseDetails?licenseNumber=80479'

#select first table form list of tables, remove only NaNs rows
df = pd.read_html(url)[0].dropna(how='all')
#forward fill NaNs in first column
df[0] = df[0].ffill()
#merge values in second column
df = df.groupby(0)[1].apply(lambda x: ' '.join(x.dropna())).to_frame().rename_axis(None).T

print (df)
                             Address Classifications County License Number  \
1  3217 Vagabond Dr Monroe, NC 28110     Residential  Union          80479   

  Limitation                   Name                Qualifiers Renewal Date  \
1    Limited  DLR Construction, LLC  Arteaga, Vicky Rodriguez                

  Status       Telephone  
1  Valid  (980) 245-0867  
0 голосов
/ 03 октября 2018

Замените строку df, как показано ниже:

df = pd.DataFrame (company_info, columns = ['ic_number', 'status', 'renewal_date', 'company_name', 'address', 'county', 'телефон', 'ограничение', 'residential_qualifiers'])

Каждый столбец, упомянутый в столбцах, должен быть в кавычках.Иначе он считается одним столбцом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...