从括号内提取文本到pandas数据框中

时间:2019-12-16 04:19:05

标签: python html pandas dataframe web-scraping

我刚开始使用python抓取数据,并尝试使用pandas标头将this页面上的数据提取到dataframe column中,显示在该页面上。

现在,我具有以下代码,可让我从页面中提取数据,但我无法弄清楚下一步如何以所需的格式获取数据。

import requests

url = 'https://mspotrace.org.my/Opmc_list/getCBbyfilters'

r = requests.get(url)
page = requests.get(url).text

1 个答案:

答案 0 :(得分:1)

您可以使用pandas API直接从网址中读取表格。

>>> import pandas as pd
>>> url = 'https://mspotrace.org.my/Opmc_list'
>>> df = pd.read_html(url)
>>> df[0]

pandas API,read_html读取所有表并返回数据帧列表 在您的情况下,该网址中只有一个表。因此,所需的数据帧位于索引0

编辑

尝试

>>> data = json.loads(page)
>>> df = pd.DataFrame(data)
>>> df
      draw  recordsTotal  recordsFiltered                                               data
0        0          2654             2654  [OPMC31001, Apave Malaysia Sdn Bhd, Part 3, Ka...
1        0          2654             2654  [OPMC31002, Apave Malaysia Sdn Bhd, Part 3, Ko...
2        0          2654             2654  [OPMC31003, Apave Malaysia Sdn Bhd, Part 3, Ko...
3        0          2654             2654  [OPMC31004, Apave Malaysia Sdn Bhd, Part 3, Ko...
4        0          2654             2654  [OPMC31005, Apave Malaysia Sdn Bhd, Part 3, Ko...
...    ...           ...              ...                                                ...
2649     0          2654             2654  [SCCS2333, Trans Certification Interntional Sd...
2650     0          2654             2654  [SCCS2351, TUV Rheinland Malaysia Sdn. Bhd., S...
2651     0          2654             2654  [SCCS1636, DQS Certification (M) Sdn Bhd, SCCS...
2652     0          2654             2654  [SCCS2906, TUV NORD (MALAYSIA) SDN BHD, SCCS, ...
2653     0          2654             2654  [SCCS02085, BSI Services Malaysia Sdn Bhd, SCC...

[2654 rows x 4 columns]