【问题标题】:Parsing table to csv Python将表解析为 csv Python
【发布时间】:2019-12-10 07:03:25
【问题描述】:

我需要从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')

我解析它,但数据在 A1 到 A699 单元格上。我需要将数据粉碎到不同的单元格。请帮帮我!

【问题讨论】:

  • 一切都是俄语。你能发布想要的结果吗
  • 数据在标签和中完美排列,你可以轻松运行for循环,将数据排列在DF中。
  • 这能回答你的问题吗? Web scrapping with Python

标签: python pandas beautifulsoup


【解决方案1】:

Pandas read_htmlalready 从给定的 url 读取所有表格并返回表格列表。您不必明确使用 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]

将此数据框保存到 csv 将具有不同单元格中的所有数据。

【讨论】:

  • 只是一个建议:最好不要将其保存为 CSV 或其他分隔符,看起来第一列中有逗号。
  • Not work 它说:urllib.error.URLError:
猜你喜欢
相关资源
最近更新 更多
热门标签