如何将js tabledata转换为.csv表?

2024-06-16 09:54:00 发布

您现在位置:Python中文网/ 问答频道 /正文

亲爱的,我需要转换政府网页上的新冠病毒住院json数据:https://onemocneni-aktualne.mzcr.cz/covid-19#panel3-hospitalization

我检查了网页,并在下面显示的html代码中确定了该表

我使用了以下Python代码,得到了以下结果:

import bs4 as bs
import urllib.request
import json

source = urllib.request.urlopen("https://onemocneni-aktualne.mzcr.cz/covid-19#panel3-hospitalization")
soup = bs.BeautifulSoup(source)
js_test = soup.find("div", id="js-hospitalization-table-data")

#Convert to JSON object
jsonData = json.loads(js_test.attrs["data-table"])   
print (jsonData['body'])

多谢各位


Tags: 代码httpsimportjson网页bsjscz
1条回答
网友
1楼 · 发布于 2024-06-16 09:54:00

您需要的数据是JSON格式的,您可以将其转换为Python字典(dict),并使用内置的^{}模块获取body键下的数据

import json
import bs4 as bs
import urllib.request

source = urllib.request.urlopen(
    "https://onemocneni-aktualne.mzcr.cz/covid-19#panel3-hospitalization"
)
soup = bs.BeautifulSoup(source, "html.parser")

json_data = json.loads(
    soup.find("div", id="js-hospitalization-table-data")["data-table"]
)

print(type(json_data))
print(*json_data["body"])

输出(部分):

<class 'dict'>
['01.03.2020', 0, 0, 0, 0, 0] ['02.03.2020', 0, 0, 0, 0, 0] ... ['20.12.2020', 4398, 588, 0.1337, 34796, 0.7152]

相关问题 更多 >