Python 有没有办法将csv文件从github自动导入我的jupyter笔记本

Python 有没有办法将csv文件从github自动导入我的jupyter笔记本,python,web-scraping,data-science,Python,Web Scraping,Data Science,我是一个初学者,我正在开发一个代码来可视化corona病毒在全球的传播,我想从GitHub Repo()中提取.csv文件,其中每2天上载一个新的.csv文件。 是否可以自动将最新的csv文件导入笔记本,而不是手动下载文件 我已经尝试过抓取数据,但是没有用 import requests url = 'https://github.com/CSSEGISandData/COVID-19/blob/master/csse_covid_19_data/csse_covid_19_daily_rep

我是一个初学者,我正在开发一个代码来可视化corona病毒在全球的传播,我想从GitHub Repo()中提取.csv文件,其中每2天上载一个新的.csv文件。 是否可以自动将最新的csv文件导入笔记本,而不是手动下载文件

我已经尝试过抓取数据,但是没有用

import requests

url = 'https://github.com/CSSEGISandData/COVID-19/blob/master/csse_covid_19_data/csse_covid_19_daily_reports/03-08-2020.csv'
response = requests.get(url)
print(response.text)
使用:

https://raw.githubusercontent.com/CSSEGISandData/COVID19/master/csse_covid_19_data/csse_covid_19_daily_reports/03-08-2020.csv
[原始文本]

例如:

import requests

url = 'https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_daily_reports/03-08-2020.csv'
resp = requests.get(url)
print(resp.text)

使用:

https://raw.githubusercontent.com/CSSEGISandData/COVID19/master/csse_covid_19_data/csse_covid_19_daily_reports/03-08-2020.csv
[原始文本]

例如:

import requests

url = 'https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_daily_reports/03-08-2020.csv'
resp = requests.get(url)
print(resp.text)

解决方案1: 此解决方案特定于您的用例:

使用以下
pip
命令安装软件包:

!pip install PyGithub
通过单击
Generate new token
并在
token
处将该token作为字符串传递到下面的代码中,以此生成Github API token,以建立与Github的连接:

from github.MainClass import Github
g = Github(token)
现在,您已使用凭据连接到Github,可以访问所有回购内容以及其他公共回购

加载存储您的
CSV
文件的repo:

repo = g.get_repo("CSSEGISandData/COVID-19")
file_list = repo.get_contents("csse_covid_19_data/csse_covid_19_daily_reports")
获取存储在
CSV
文件所在目录中的文件对象列表:

repo = g.get_repo("CSSEGISandData/COVID-19")
file_list = repo.get_contents("csse_covid_19_data/csse_covid_19_daily_reports")
由于存储这些CSV文件的目录还包含一个
.gitignore
文件和一个
自述文件.md
文件以及文件名称的格式为“mm dd yyyy”,因此最后一个文件是README.md,最后一个文件是您最新更新的文件。要访问运行以下代码的数据库,请执行以下操作:

github_dir_path = 'https://github.com/CSSEGISandData/COVID-19/raw/master/csse_covid_19_data/csse_covid_19_daily_reports/'
file_path = github_dir_path  + str(file_list[-2]).split('/')[-1].split(".")[0]+ '.csv'
使用pandas的
read\u csv()
方法从指定路径加载数据

import pandas as pd
df = pd.read_csv(file_path, error_bad_lines=False)
import pandas as pd
df = pd.read_csv(file_path, error_bad_lines=False)
解决方案2: 如果要手动指定路径,请尝试以下代码:

通过右键单击如下所示的
raw
,从Github获取CSV文件的路径,并将其值分配给
文件路径

使用以下方法从指定路径加载数据:

import pandas as pd
df = pd.read_csv(file_path, error_bad_lines=False)
解决方案3: 如果要自动指定路径,请尝试以下代码:

设置刷新代码的时间,并将下面给定的解决方案与之集成

由于您知道存储最新文件的目录以及将新文件添加到该目录的频率,因此您只需以mm dd yyyy格式动态更改当前日期的日期:

from datetime import date
file_date = str(date.today().strftime('%m-%d-%Y'))
file_date
输出:
03-11-2020

类似地,如果要针对昨天的日期运行代码,只需更改file_date的值:

from datetime import date, timedelta
file_date = str((date.today() - timedelta(days = 1)).strftime('%m-%d-%Y'))
file_date
输出:
03-10-2020

由于当前在该目录中,最后上载的文件是2020年3月9日,因此我们将使用该日期:

from datetime import date, timedelta
file_date = str((date.today() - timedelta(days = 2)).strftime('%m-%d-%Y'))
file_date
输出:
03-09-2020

动态生成文件路径:

github_dir_path = 'https://github.com/CSSEGISandData/COVID-19/raw/master/csse_covid_19_data/csse_covid_19_daily_reports/'
file_path = github_dir_path  + file_date + '.csv'
使用pandas的
read\u csv()
方法从指定路径加载数据

import pandas as pd
df = pd.read_csv(file_path, error_bad_lines=False)
import pandas as pd
df = pd.read_csv(file_path, error_bad_lines=False)
解决方案1: 此解决方案特定于您的用例:

使用以下
pip
命令安装软件包:

!pip install PyGithub
通过单击
Generate new token
并在
token
处将该token作为字符串传递到下面的代码中,以此生成Github API token,以建立与Github的连接:

from github.MainClass import Github
g = Github(token)
现在,您已使用凭据连接到Github,可以访问所有回购内容以及其他公共回购

加载存储您的
CSV
文件的repo:

repo = g.get_repo("CSSEGISandData/COVID-19")
file_list = repo.get_contents("csse_covid_19_data/csse_covid_19_daily_reports")
获取存储在
CSV
文件所在目录中的文件对象列表:

repo = g.get_repo("CSSEGISandData/COVID-19")
file_list = repo.get_contents("csse_covid_19_data/csse_covid_19_daily_reports")
由于存储这些CSV文件的目录还包含一个
.gitignore
文件和一个
自述文件.md
文件以及文件名称的格式为“mm dd yyyy”,因此最后一个文件是README.md,最后一个文件是您最新更新的文件。要访问运行以下代码的数据库,请执行以下操作:

github_dir_path = 'https://github.com/CSSEGISandData/COVID-19/raw/master/csse_covid_19_data/csse_covid_19_daily_reports/'
file_path = github_dir_path  + str(file_list[-2]).split('/')[-1].split(".")[0]+ '.csv'
使用pandas的
read\u csv()
方法从指定路径加载数据

import pandas as pd
df = pd.read_csv(file_path, error_bad_lines=False)
import pandas as pd
df = pd.read_csv(file_path, error_bad_lines=False)
解决方案2: 如果要手动指定路径,请尝试以下代码:

通过右键单击如下所示的
raw
,从Github获取CSV文件的路径,并将其值分配给
文件路径

使用以下方法从指定路径加载数据:

import pandas as pd
df = pd.read_csv(file_path, error_bad_lines=False)
解决方案3: 如果要自动指定路径,请尝试以下代码:

设置刷新代码的时间,并将下面给定的解决方案与之集成

由于您知道存储最新文件的目录以及将新文件添加到该目录的频率,因此您只需以mm dd yyyy格式动态更改当前日期的日期:

from datetime import date
file_date = str(date.today().strftime('%m-%d-%Y'))
file_date
输出:
03-11-2020

类似地,如果要针对昨天的日期运行代码,只需更改file_date的值:

from datetime import date, timedelta
file_date = str((date.today() - timedelta(days = 1)).strftime('%m-%d-%Y'))
file_date
输出:
03-10-2020

由于当前在该目录中,最后上载的文件是2020年3月9日,因此我们将使用该日期:

from datetime import date, timedelta
file_date = str((date.today() - timedelta(days = 2)).strftime('%m-%d-%Y'))
file_date
输出:
03-09-2020

动态生成文件路径:

github_dir_path = 'https://github.com/CSSEGISandData/COVID-19/raw/master/csse_covid_19_data/csse_covid_19_daily_reports/'
file_path = github_dir_path  + file_date + '.csv'
使用pandas的
read\u csv()
方法从指定路径加载数据

import pandas as pd
df = pd.read_csv(file_path, error_bad_lines=False)
import pandas as pd
df = pd.read_csv(file_path, error_bad_lines=False)
这可能是有用的::我已经尝试过抓取数据,但没有帮助,这到底意味着什么?请澄清问题所在。这可能很有用::我已经尝试过删除数据,但没有帮助。这到底意味着什么?请澄清问题所在。