Javascript 如何将js表数据转换为.csv表?
亲爱的,我需要转换政府网页上的新冠病毒住院json数据: 我检查了网页,并在下面显示的html代码中确定了该表 我使用了以下Python代码,得到了以下结果:Javascript 如何将js表数据转换为.csv表?,javascript,python,csv,beautifulsoup,python-requests,Javascript,Python,Csv,Beautifulsoup,Python Requests,亲爱的,我需要转换政府网页上的新冠病毒住院json数据: 我检查了网页,并在下面显示的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
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'])
谢谢。您需要的数据是JSON格式的,您可以将其转换为Python字典(
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]
什么是“数据表”?我认为.csv文件…从您得到的输出来看,数据表
是JSON格式的,因此,您需要将该格式的数据转换为CSV,这可能是可能的,也可能是不可能的,因为后者不支持嵌套的数据结构,而另一个支持。我尝试将此json数据导入xls或Power BI,但没有成功。所以我的想法是提取“body”后面的文本:并将[xxx]中的数据转换为.csv文件。。有什么想法吗?谢谢抱歉,我不知道如何使用beautifulsoup,但如果您能从中获得数据表
的值或返回的内容,那么我可能可以帮助将其转换为CSV格式。非常感谢。然而,我还没有发现如何将这个字典转换成表或数据帧。你能帮我加上这个吗?感谢you@Jara那是另一个问题。请看。如果你仍然被困,考虑在StAdvoad上问一个新的问题。
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]