将Google表格数据导入pandas数据框

2 投票
3 回答
3976 浏览
提问于 2025-04-18 07:18

我想把谷歌表格里的数据导入到 pandas 中进行分析。我的一个表格里有好几个数据集,所以不能像这里的例子那样直接用CSV格式导入:将谷歌表格的CSV导入到Pandas数据框中

这是我在表格中数据的样子:

Date     letters    numbers    mixed
1/1/2014   a            3        z1
1/2/2014   b            2        y2
1/3/2014   c            1        x3

我使用了 gspread 来导入数据,现在每一行都代表一个观察值,数据看起来像这样:

[['Date', 'letters', 'numbers', 'mixed'], ['1/1/2014', 'a', '3', 'z1'], ['1/2/2014', 'b', '2', 'y2'], ['1/3/2014', 'c', '1', 'x3']]

我的问题是,怎么把这些数据放进pandas的数据框里,并且用数字作为索引?我不想用日期作为索引。我需要一个通用的解决方案,因为我的数据集有1000行和50列。

3 个回答

0

还有一种方法可以把谷歌表格传输到Python的Pandas库,反过来也可以,这个方法叫做df2gspread:http://df2gspread.readthedocs.io/en/latest/overview.html#usage1

设置这个工具只需要10分钟,而且只需要写3行代码就能搞定:

from df2gspread import gspread2df as g2d
df = g2d.download(gfile="your_spreadsheet_ID", col_names=True, row_names=True)

我刚刚设置好这个工具,如果你有任何问题,随时问我哦。

0

如果你想把 pandas 数据框和 Google 表格连接起来,那你来对地方了! gspread-dataframe 就是你需要的工具。它填补了 gspreadpandas 之间的空缺。

你可以通过运行 pip install gspread-dataframe 来安装它。

4

这是我会做的事情

import pandas as pd
d=[['Date', 'letters', 'numbers', 'mixed'],\
   ['1/1/2014', 'a', '3', 'z1'],\
   ['1/2/2014', 'b', '2', 'y2'],\
   ['1/3/2014', 'c', '1', 'x3']]
df = pd.DataFrame.from_records(d[1:],columns=d[0])
df.set_index('numbers')

这是结果

             Date letters mixed
numbers
3        1/1/2014       a    z1
2        1/2/2014       b    y2
1        1/3/2014       c    x3

撰写回答