使用google电子表格同步数据行(python2.7版本)

sheetsync2的Python项目详细描述


Build Status

用于在google电子表格中创建、更新和删除数据行的python 2.7库。Click here to read the full documentation

安装

使用pip

从pypi安装
pip install sheetsync2

或者您可以克隆git repo并从以下代码安装:

git clone -b master27 git@github.com:mbrenig/sheetsync.git LocalSheetSync
pip install LocalSheetSync

注意,您可能需要使用sudo运行上面的命令。

设置OAuth 2.0访问

google drive api现在需要使用oauth2.0。这意味着你需要 进行一些配置以获取api客户机id和客户机机密 使用sheetsync之前。

阅读分步getting started guide了解说明。

将数据注入google工作表

sheetsync可以处理字典中的数据。每一行是 由字典表示,它们本身存储在字典中 由行特定键索引。例如,这个字典表示两行 “color”和“performer”列的数据:

data={"Kermit":{"Color":"Green","Performer":"Jim Henson"},"Miss Piggy":{"Color":"Pink","Performer":"Frank Oz"}}

将此数据(添加或更新行)插入目标 谷歌电子表格文档中的工作表使用以下代码:

importloggingfromsheetsyncimportSheet,ia_credentials_helper# Turn on logging so you can see what sheetsync is doing.logging.getLogger('sheetsync').setLevel(logging.DEBUG)logging.basicConfig()# Create OAuth2 credentials, or reload them from a local cache file.CLIENT_ID='171566521677-3ppd15g5u4lv93van0eri4tbk4fmaq2c.apps.googleusercontent.com'CLIENT_SECRET='QJN*****************hk-i'creds=ia_credentials_helper(CLIENT_ID,CLIENT_SECRET,credentials_cache_file='cred_cache.json')data={"Kermit":{"Color":"Green","Performer":"Jim Henson"},"Miss Piggy":{"Color":"Pink","Performer":"Frank Oz"}}# Find or create a spreadsheet, then inject data.target=Sheet(credentials=creds,document_name="sheetsync Getting Started")target.inject(data)print"Spreadsheet created here: %s"%target.document_href

此脚本的第一部分导入Sheet对象并 ia_credentials_helper函数。包含此功能是为了帮助您快速 使用客户机id和secret生成OAuth2Credentials对象。

第二部分在google驱动器中创建一个新的电子表格文档,然后插入如下数据:

https://raw.githubusercontent.com/mbrenig/SheetSync/master/docs/Sheet1.png

稍后您可能需要访问这些数据,为此请注意 电子表格的文档密钥来自url:

https://raw.githubusercontent.com/mbrenig/SheetSync/master/docs/URL.png

并按如下方式访问数据:

source=Sheet(credentials=creds,document_key="1bnieREGAyXZ2TnhXgYrIacCIY09Q2lfGXNZbjsvJ82M",worksheet_name='Sheet1')printsource.data()

“inject”方法只添加或更新行。如果要从电子表格中删除行以使其与输入数据保持同步,请使用“sync”方法。

完整文档

是可用的here

测试和开发

sheetsync带有毒性测试。要运行它们,您需要复制.secret 文件到.mysecrets并填写您自己的客户机id、secret和testdoc文件夹 钥匙。然后使用以下两个命令运行:

. .mysecrets
tox

许可证是麻省理工学院的,所以请随意编辑和改进。干杯。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java JBPM:无法部署进程存档:null   java将一个数组拆分为两个大小相等的数组   java Spring boot验证该字段是否为string类型   JAVA JPA保存到TSV而不是SQL   java PMD报告超过X个违规   java是否支持springdatagremlin中的自定义查询?   java在“for”循环后使用变量   JPQL中默认查询中的java错误列   如何在java中实现不同于线程的进程?   java如何检查字符串是否平衡?   xml使用xalan扩展在XSL中处理java集合   java我试图使用子类/超类重写另一个类的值   转换为JSON时出现java堆栈溢出问题   java考虑定义一个类型为“COM”的bean。实例演示。在您的配置中命令$DefaultIO   java在kubernetes中如何检索转发端口的值?   JavaEclipse,动态web项目,向类路径添加另一个eclipse项目   eclipse的java Spring上下文XML验证器?   Linux下利用MATLAB(Windows)生成Java包   Java:在存储到DDC之前验证属性   java校验字符串