google电子表格api的简单python包装器
python-google-spreadsheet的Python项目详细描述
google spreadsheeta api的简单python包装器。 [![生成状态](https://secure.travis-ci.org/yoavaviram/python-google-spreadsheet.png?branch=master)](http://travis-ci.org/yoavaviram/python-google-spreadsheet)
功能
- 工作表的面向对象接口
- 支持电子表格行的列表馈送视图,表示为字典
- 与谷歌应用程序引擎兼容
用法
列出电子表格和工作表:
>>> from google_spreadsheet.api import SpreadsheetAPI >>> api = SpreadsheetAPI(GOOGLE_SPREADSHEET_USER, GOOGLE_SPREADSHEET_PASSWORD, GOOGLE_SPREADSHEET_SOURCE) >>> spreadsheets = api.list_spreadsheets() >>> spreadsheets [('MyFirstSpreadsheet', 'tkZQWzwHEjKTWFFCAgw'), ('MySecondSpreadsheet', 't5I-ZPGdXjTrjMefHcg'), ('MyThirdSpreadsheet', 't0heCWhzCmm9Y-GTTM_Q')] >>> worksheets = api.list_worksheets(spreadsheets[0][1]) >>> worksheets [('MyFirstWorksheet', 'od7'), ('MySecondWorksheet', 'od6'), ('MyThirdWorksheet', 'od4')]
请注意,要使用谷歌电子表格,它必须是可访问的 提供登录凭据的用户。谷歌电子表格来源 参数被google用来标识应用程序和跟踪api调用。
使用工作表:
>>> sheet = spreadsheet.get_worksheet('tkZQWzwHEjKTWFFCAgw', 'od7') >>> rows = sheet.get_rows() >>> len(rows) 18 >>> row_to_update = rows[0] >>> row_to_update['name'] = 'New Name' >>> sheet.update_row(row_to_update) {'name': 'New Name'...} >>> row_to_insert = rows[0] >>> row_to_insert['name'] = 'Another Name' >>> row = sheet.insert_row(row_to_insert) {'name': 'Another Name'...} >>> sheet.delete_row(row) >>> sheet.delete_all_rows()
高级查询:
>>> sheet = spreadsheet.get_worksheet('tkZQWzwHEjKTWFFCAgw', 'od7') >>> rows = sheet.get_rows(query='name = "Joe" and height < 175')
或在内存中筛选:
>>> sheet = spreadsheet.get_worksheet('tkZQWzwHEjKTWFFCAgw', 'od7') >>> filtered_rows = sheet.get_rows( filter_func=lambda row: row['status'] == "READY")
排序:
>>> sheet = spreadsheet.get_worksheet('tkZQWzwHEjKTWFFCAgw', 'od7') >>> rows = sheet.get_rows(order_by='column:age', reverse='true')
就这样。
有关这些电话的更多信息,请查阅[谷歌电子表格 API开发人员指南](https://developers.google.com/google-apps/spreadsheets/)。
测试
要运行测试套件,请执行以下步骤:
- 确保[nose](http://readthedocs.org/docs/nose/en/latest/)已安装:(pip install nose)
- 创建名为:test_settings.py的本地文件,并将以下变量设置为相关值:google_spreadsheet_user,google_spreadsheet_password,google_spreadsheet_source,google_spreadsheet_key,google工作表_key,column_name,列唯一值
- 进行鼻测试
许可证
版权所有©;2012 Yoav Aviram
有关详细信息,请参见许可证。