从GitHub下载和访问数据的Python方法

16 投票
2 回答
53502 浏览
提问于 2025-04-18 05:22

你好,我正在学习《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)当作日期来解析。

撰写回答