使用用友提供的新冠肺炎实时数据,登陆注册以后能够无偿使用。html
这里的AIPCODE,复制并保存,用于后续的使用。java
用友有提供一个 eclipse 的使用说明。
python
本文采用 IDEA 搭建 Maven 进行使用git
能够参考 Maven 环境配置,按照配置很简单,记住按照路径便可,方便后续使用github
选为更改下载的 maven 的路径,可能须要安装什么,等待他安装完成便可。
apache
更改成本地的JDK,不然可能会提示版本问题。
json
在 pom.xml 中引入,点击Import Changes,等待安装完成api
<dependencies> <dependency> <groupId>org.json</groupId> <artifactId>json</artifactId> <version>20180130</version> </dependency> </dependencies>
将用友提供的疫情全球代码复制进去。
app
这里更改成刚刚保存的 API 码便可。echarts
若是代码有错误提示,根据 IDEA 提供的更改建议进行更改。就一处错误。而后运行。
成功获取到数据。
若是出现版本错误,再按刚刚的步骤看一下哪一个版本没有更改。
在getRequest函数中进行调用。
再次运行,就会发现得到了一个 Cov2019.json 文件
private static void saveDataToFile(String data) { BufferedWriter writer = null; File file = new File("cov2019.json"); //若是文件不存在,则新建一个 if(!file.exists()){ try { file.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } //写入 try { writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file,false), "UTF-8")); writer.write(data); } catch (IOException e) { e.printStackTrace(); }finally { try { if(writer != null){ writer.close(); } } catch (IOException e) { e.printStackTrace(); } } System.out.println("文件写入成功!"); }
数据处理使用 PyCharm 进行。
更改 python 的环境
json 文件主要是层级递进的关系,咱们须要的是 country 部分
因此咱们可使用 Json 库进行处理。
在处理的过程当中会发现,每一个洲其实都有一个 country 部分
因此咱们须要先去除每一个洲,而后再提取美国国家数据。
处理成方便后续可视化的格式。
# -*- coding = utf-8 -*- # @Time :2021-02-19 0:31 # @Author: LinJH # @File : DealData.py # @Software: PyCharm import json def DealFile(): with open('../GetData/cov2019.json', 'r', encoding="utf-8")as f: data = json.load(f) # print(data) DealDate(data) # 初步提取数据 def DealDate(data): data = data["data"]["continent"] Asia = data[0]["country"] Europe = data[1]["country"] NorthAmerica = data[2]["country"] SouthAmerica = data[3]["country"] Africa = data[4]["country"] Oceania = data[5]["country"] country = Asia + Europe + NorthAmerica + SouthAmerica + Africa + Oceania DealCountry(country) # 数据格式进行处理 def DealCountry(country): for i in range(len(country)): name = country[i]["provinceName"] value = country[i]["confirmedCount"] ChangeDate(name, value) countryList = [] LList=[] def ChangeDate(name, value): # 读取国家名称中文转英文数据 with open('countryC2E.json', 'r', encoding='utf-8') as f: c2e = json.load(f) try: countryDict = {} countryDict["name"] = c2e[name] countryDict["value"] = value countryList.append(countryDict) except: LList.append(name) # 数据保存 def SaveDate(country): # DataDict={} # DataDict["data"] = country with open("cov2019_deal.json", 'w', encoding="utf-8") as f: json.dump(country, f) print("保存成功!") if __name__ == '__main__': DealFile() SaveDate(countryList)
没作动态加载的,单一视图。