使用Pandas数据框操作Google Sheets
项目描述
pgsheets是一个用于与Google Sheets交互的Python3库。它使用Pandas数据框,这是一个非常适合数据分析和表示电子表格的二维结构。
此库可以轻松与现有数据集成,以展示仪表板、更新文档或提供快速数据分析。
功能
获取/设置Google电子表格的全部或部分内容
使用Google API管理授权
检索/设置公式或值
调整电子表格大小
为Google Sheets提供丰富的Pandas数据工具
安装
只需使用pip进行安装
$ pip install pgsheets
用法
设置Google项目
如果您尚未创建,您需要在Google开发者控制台中创建一个项目,并获取您的客户端ID和客户端密钥。
导航到Google开发者控制台
创建一个项目(您将被重定向到项目页面)
单击APIs & Auth
单击Consent screen并设置产品名称
现在单击Credentials。
单击Create new Client ID并选择Installed Application > Other
获取令牌
使用您的Google 客户端ID和客户端密钥,我们可以获取一个授权URL以呈现给用户
>>> from pgsheets import Token, Client
>>> c = Client(my_client_id, my_client_secret)
>>> c.getOauthUrl()
'https://#/o/oauth2/auth?...'
通过访问此URL,谷歌用户可以同意您的应用程序查看和修改他们的谷歌表格。同意后,将返回一个访问码,我们使用它来获取令牌
>>> my_token = c.getRefreshToken(access_code)
>>> type(my_token)
str
>>> t = Token(c, my_token)
您需要保存my_token以供将来使用。
编辑电子表格
创建一个电子表格(并确保保存它)并复制URL。现在我们可以访问电子表格
>>> import pandas as pd
>>> from pgsheets import Spreadsheet
>>> s = Spreadsheet(t, my_url)
>>> s
<Spreadsheet title='test' key='.....'>
>>> s.getTitle()
'test'
>>> s.getWorksheets()
[<Worksheet title='Sheet1' sheet_key='.....'>]
>>> w = s.getWorksheet('Sheet1')
>>> w.getTitle()
'Sheet1'
>>> w.setDataFrame(
pd.DataFrame([['money', 'interest', 'years', 'result'],
['1000', '0.015', '3', '=A2 * (1+B2) ^ C2']]),
copy_columns=False,
copy_index=False,
resize=True)
>>> w.asDataFrame()
interest years result
money
1000 0.015 3 =R[0]C[-3] * (1+R[0]C[-2]) ^ R[0]C[-1]
>>> w.asDataFrame(values=True)
interest years result
money
1000 0.015 3 1045.678375
>>> df = w.asDataFrame()
>>> df['checked'] = "TRUE"
>>> w.setDataFrame(df)
>>> w.asDataFrame()
interest years result checked
money
1000 0.015 3 =R[0]C[-3] * (1+R[0]C[-2]) ^ R[0]C[-1] TRUE
限制
此库仅在Python3.4中进行了测试。它几乎肯定不会在Python2中工作。
目前,使用pgsheets无法完成以下操作
创建电子表格
将工作簿添加到电子表格中
重命名电子表格或工作簿
防止某些值发生微小变化,例如,“True”变为“TRUE”
最后,谷歌API有一些限制。理想情况下,此代码不应导致工作表发生任何更改
>>> w.setDataFrame(w.asDataFrame())
不幸的是,存在一些边缘情况。例如,以下公式
={1, 2} |
跨越两个单元格显示
1 |
2 |
没有明确的方法知道右侧的单元格不是用户输入的“2”。因此,上述代码会导致以下输出
={1, 2} |
2 |
显示如下
#REF! |
2 |
项目详情
下载文件
下载适用于您平台的项目文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码分发
构建分发
pgsheets-0.0.1.tar.gz 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | b834a1b75098f376f7d8fe7a7659515f48d0575383a60fb4a82f69f328e7faa3 |
|
MD5 | e306620e44f70bde934b8fc3e5170bd2 |
|
BLAKE2b-256 | 10372f572a74456258db8d4df02fa47a39c9663c3c181e5ed1eed62509447066 |
pgsheets-0.0.1-py3-none-any.whl 的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | ebb25641ff29858a7eede80511e4ae1b26b7398f67d058593d4c4287126f0e61 |
|
MD5 | f7439ea91c3f8a194da531ea1cfa7795 |
|
BLAKE2b-256 | 371829e5caf268a33d9ffcb531d401648e688d1932db42e9669ada461007a4c8 |