英国Covid Python SDK(https://publichealthengland.github.io/coronavirus-dashboard-api-python-sdk/)可以收集某个区域的数据,例如巴恩斯利,使用以下代码:
data_structure = {...}
region_string = ["areaType=ltla;areaName=Barnsley"]
api = Cov19API(filters=region_string, structure=data_structure)
print(api)
返回以下内容,效果很好:
COVID-19 in the UK - API Service
Current parameters:
{
"filters": "areaType=ltla;areaName=Barnsley",
"structure": "{\"date\":\"date\",\"area\":\"areaName\",\"cases\":\"newCasesByPublishDate\"}"
}
我正在尝试使用以下代码为县内的一系列区域调用API:
for name in Yorkshire['area'].to_list():
print(name)
regionString = f'["areaType=ltla;areaName={name}"]'
print(regionString)
api = Cov19API(filters=regionString, structure=cases_only)
print(api)
但是由于某种原因,region_string
在传递给Cov19API时会出现加扰的分号:
Barnsley
["areaType=ltla;areaName=Barnsley"]
COVID-19 in the UK - API Service
Current parameters:
{
"filters": "[;';a;r;e;a;T;y;p;e;=;l;t;l;a;';,; ;';a;r;e;a;N;a;m;e;=;B;a;r;n;s;l;e;y;';]",
"structure": "{\"date\":\"date\",\"area\":\"areaName\",\"cases\":\"newCasesByPublishDate\"}"
}
...
我认为这是因为filter在带有空格的任何块之间添加了分号,但是我不知道为什么相同的变量在第一个实例中起作用时为什么它不接受字符串。任何建议将不胜感激。