为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用python使用请求/pandas提取表

如何使用python使用请求/pandas提取表

月关宝盒 2021-12-26 10:13:30
我尝试使用代码提取产品名称、年份、表格中的值,但在某些地方我遇到了问题。我的代码:import requestsimport pandas as pdimport pymysqltry:    df = []    dates1 = []    try:        url = 'http://cpmaindia.com/fiscal_custom_duty.php'        html = requests.get(url).content        tab_list = pd.read_html(html)        tab = tab_list[0]        tab.apply(lambda x: x.tolist(), axis=1)        tab = tab.values.tolist()        print(tab)    except Exception as e:        raise eexcept Exception as e:    raise e这我试过但没有得到欲望输出。只想解析表。谢谢
查看完整描述

1 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

tab_list[0] 产生以下内容:


print (tab)

                                                   0

0  <!-- function MM_swapImgRestore() { //v3.0  va...

1  Custom Duty  Import Duty on Petrochemicals (%)...

2  <!-- body { \tmargin-left: 0px; \tmargin-top: ...

你是想抢tab_list[8]吗?


此外,如果您使用 Pandas 从 html 中读取表格,则无需使用requests:


import pandas as pd    


url = 'http://cpmaindia.com/fiscal_custom_duty.php'


tab_list = pd.read_html(url)


table = tab_list[8]


table.columns = table.iloc[0,:]

table = table.iloc[1:,2:-1]

输出:


print (table)

0  Import Duty on Petrochemicals (%)  ... Import Duty on Petrochemicals (%)

1                   Product / Year -  ...                             16/17

2                            Naphtha  ...                                 5

3                           Ethylene  ...                               2.5

4                          Propylene  ...                               2.5

5                          Butadiene  ...                               2.5

6                            Benzene  ...                               2.5

7                            Toluene  ...                               2.5

8                       Mixed Xylene  ...                               2.5

9                        Para Xylene  ...                                 0

10                      Ortho Xylene  ...                                 0

11                              LDPE  ...                               7.5

12                             LLDPE  ...                               7.5

13                              HDPE  ...                               7.5

14                                PP  ...                               7.5

15                               PVC  ...                               7.5

16                                PS  ...                               7.5

17                               EDC  ...                                 2

18                               VCM  ...                                 2

19                           Styrene  ...                                 2

20                               SBR  ...                                10

21                               PBR  ...                                10

22                               MEG  ...                                 5

23                               DMT  ...                                 5

24                               PTA  ...                                 5

25                               ACN  ...                                 5


[25 rows x 7 columns]


查看完整回答
反对 回复 2021-12-26
  • 1 回答
  • 0 关注
  • 188 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号