[英]Why can`t i import this CSV file from my computer into my jupyter notebook?
[英]Is there a way to import csv file from github automatically to my jupyter notebook
我是一個初學者,我正在開發一個代碼來可視化冠狀病毒在全球的傳播,我想從GitHub 存儲庫( csse_covid_19_data )中提取 .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)
此解決方案特定於您的用例:
使用以下pip
命令安裝PyGithub包:
!pip install PyGithub
生成Github的API從此令牌頁面點擊Generate new token
,並通過該令牌作為的地方在下面的代碼串token
建立與Github上的連接:
from github.MainClass import Github
g = Github(token)
現在您已使用您的憑據連接到 Github,您可以訪問您的所有存儲庫內容以及其他公共存儲庫。
加載存儲CSV
文件的存儲庫:
repo = g.get_repo("CSSEGISandData/COVID-19")
獲取存儲在CSV
文件所在目錄中的文件對象列表:
file_list = repo.get_contents("csse_covid_19_data/csse_covid_19_daily_reports")
由於存放這些CSV文件的目錄還包含一個.gitignore
文件和一個README.md
文件,文件命名為“mm-dd-yyyy”格式,所以README.md出現在最后一秒file 是您最新更新的文件。 要訪問它,請運行以下代碼:
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'
使用read_csv()
方法從指定路徑加載數據。
import pandas as pd
df = pd.read_csv(file_path, error_bad_lines=False)
如果您想手動指定路徑,請嘗試以下代碼:
通過右鍵單擊raw
從 Github 獲取 CSV 文件的路徑,如下所示,並將其值分配給file_path
:
file_path = 'https://github.com/CSSEGISandData/COVID-19/raw/master/csse_covid_19_data/csse_covid_19_daily_reports/03-08-2020.csv'
使用read_csv()
方法從指定路徑加載數據:
import pandas as pd
df = pd.read_csv(file_path, error_bad_lines=False)
如果要自動指定路徑,請嘗試以下代碼:
設置您想要刷新代碼的時間並將下面給出的解決方案與之集成。
由於您知道存儲最新文件的目錄以及將新文件添加到該目錄的頻率,您只需以 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
動態生成 file_path:
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'
使用read_csv()
方法從指定路徑加載數據。
import pandas as pd
df = pd.read_csv(file_path, error_bad_lines=False)
用:
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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.