简体   繁体   English

将表解析为 csv Python

[英]Parsing table to csv Python

I need to parse table from https://ege.hse.ru/rating/2019/81031971/all/?rlist=&ptype=0&vuz-abiturients-budget-order=ge&vuz-abiturients-budget-val=10我需要从https://ege.hse.ru/rating/2019/81031971/all/?rlist=&ptype=0&vuz-abiturients-budget-order=ge&vuz-abiturients-budget-val=10解析表

import requests

from bs4 import BeautifulSoup
import pandas as pd

url = "https://ege.hse.ru/rating/2019/81031971/all/?rlist=&ptype=0&vuz-abiturients-budget-order=ge&vuz-abiturients-budget-val=10"
page = requests.get(url)

soup = BeautifulSoup(page.content, 'html.parser')

tbl = soup.find("table", {"id": "transparence_t"})

data_frame = pd.read_html(str(tbl))[0]
data_frame.to_csv('hseparser.csv')

I parse it, but data are on A1 to A699 cell.我解析它,但数据在 A1 到 A699 单元格上。 I need smash data to different cells.我需要将数据粉碎到不同的单元格。 Please help me!请帮我!

Pandas read_html already reads all the tables from the given url and returns a list of tables. Pandas read_html已经从给定的 url 读取所有表并返回一个表列表。 You don't have to explicitly use BeautifulSoup package.您不必明确使用BeautifulSoup包。

>>> url = 'https://ege.hse.ru/rating/2019/81031971/all/?rlist=&ptype=0&vuz-abiturients-budget-order=ge&vuz-abiturients-budget-val=10'
>>> df = pd.read_html(url)
>>> len(df)
2
>>> df[0].head()
                                                   0                                                  1
0                                             Регион  Все  Алтайский край  Амурская область  Арханге...
1                                           Тип вуза  Все  Государственный  Головной  Филиал  Негосу...
2  Вузы с набором  больше  меньше  человек на бюд...  Вузы с набором  больше  меньше  человек на бюд...
>>> df[1].head()
                                                 Вуз  Качество приема на основании среднего балла ЕГЭ зачисленных на бюджетные места 2019  ...  Из них: без экзаменов  Ср.балл рассчитан с вычетом баллов за И.Д.?
0                   Адыгейский гос. ун-т., г. Майкоп                                               60.5                                    ...                      1                                          Нет
1  Азово-Черноморский инженерный ин-т. - филиал Д...                                               45.5                                    ...                      0                                          Нет
2   Академия труда и социальных отношений, г. Москва                                               77.8                                    ...                      0                                           Да
3          Алтайский гос. аграрный ун-т., г. Барнаул                                               54.7                                    ...                      0                                          Нет
4  Алтайский гос. гуманитарно-педагогический ун-т...                                               59.7                                    ...                      0                                           Да

[5 rows x 6 columns]

Saving this dataframe to csv will have all the data in different cells.将此数据帧保存到 csv 将包含不同单元格中的所有数据。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM