【问题标题】:Automated Dataset import?自动数据集导入?
【发布时间】:2021-05-04 14:39:27
【问题描述】:

这是我最近部署的一个简单的网络应用:https://covid19-visualisation.herokuapp.com/

我使用了 Dash 框架并使用 Heroku 进行了部署。

我使用df = pd.read_csv('owid-covid-data.csv') 来加载数据集。数据集可以在这里找到:

https://ourworldindata.org/covid-vaccinations

数据每天都在更新。有没有办法自动化这个过程,比如将某种链接传递给这个 read_csv 函数?

【问题讨论】:

  • 使用requests,您可以自动抓取网站并下载数据。
  • 这只是一个关于 pandas(和 makye Heroku,取决于你的目录结构)的问题;请不要用你使用的每个包标记它:plotly,或hyphen(因为你输入了“破折号”?)
  • 那么您是否想在每日数据集中进行流式传输,然后以某种命名/日期格式和/或 Heroku 中的目录结构保存它?或者只是用昨天的覆盖今天的每日?

标签: python pandas plotly


【解决方案1】:

您可以尝试这样的请求:

import pandas as pd
import io
import requests
url = "https://covid.ourworldindata.org/data/owid-covid-data.csv?v=2021-01-31'"
r = requests.get(url).content
contents_df = pd.read_csv(io.StringIO(r.decode('utf-8')))

您可能必须每天更改 url 末尾的日期才能获取最新文件。

【讨论】:

    【解决方案2】:

    你可以Pandas read_csv() directly from url。 大概用代码围绕它来处理容错、重试等。

    甚至不需要将它存储为文件,除非你想持久化到磁盘。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-02
      • 2021-05-30
      • 2020-02-11
      • 2019-09-30
      • 2014-01-22
      • 2018-08-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多