从GitHub下载和访问数据的Python方法
你好,我正在学习《Python数据分析》这本书,想分析书中提到的数据。在第9章中,书里用到了下面的数据。不过,我在把数据下载到我Mac上的GitHub应用后,发现很难在我的ipython笔记本中使用这些数据。
股票数据在这里:https://github.com/pydata/pydata-book/blob/master/ch09/stock_px.csv
我点击了“打开”,这在我的GitHub应用中下载了一个大文件。文件的样子如下。我该如何在我的ipython笔记本中打开这个数据呢?
**我看到其他StackOverflow的问题,知道我可以直接下载zip文件,我也在这么做。不过,能高效使用GitHub应用就更好了。
右键点击并保存csv文件似乎保存的是json/html文件。
2 个回答
4
首先,要访问GitHub上的CSV文件数据,需要把这个文件转换成“原始”格式。你可以查看下面评论中的链接,了解如何把CSV文件转换成原始格式。
import pandas as pd
url_data = (r'https://raw.githubusercontent.com/oderofrancis/rona/main/Countries-Continents.csv')
data_csv = pd.read_csv(url_data)
data_csv.head()
28
你只需要使用原始版本的 url
(你提供的链接上有一个按钮可以找到原始版本的链接),然后直接用 read_csv
把它读入一个数据框就可以了:
import pandas as pd
url = 'https://raw.githubusercontent.com/pydata/pydata-book/master/ch09/stock_px.csv'
df = pd.read_csv(url,index_col=0,parse_dates=[0])
print df.head(5)
AAPL MSFT XOM SPX
2003-01-02 7.40 21.11 29.22 909.03
2003-01-03 7.45 21.14 29.24 908.59
2003-01-06 7.45 21.52 29.96 929.01
2003-01-07 7.43 21.93 28.95 922.93
2003-01-08 7.28 21.31 28.83 909.93
补充一下,我用来读取文件的选项简单解释一下:
df = pd.read_csv(url,index_col=0,parse_dates=[0])
文件的第一列(列号 = 0)是日期,因为它没有列名,所以看起来像是要作为索引使用;index_col=0
就是把它设为索引,而 parse_dates[0]
则告诉 read_csv
把第一列(列号=0)当作日期来解析。