Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将js表数据转换为.csv表?_Javascript_Python_Csv_Beautifulsoup_Python Requests - Fatal编程技术网

Javascript 如何将js表数据转换为.csv表?

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

亲爱的,我需要转换政府网页上的新冠病毒住院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 = 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]