gspread包装

gspread2的Python项目详细描述


StagePyPIgspreadDocumentation Status

Gspread2

围绕gspread的包装以便于使用。 旨在提供类似于OpenPyXL的特性和语法。在

DISCLAIMER: This library is still under development!
Until v1.0.0 is released, assume everything is subject to change.

特点

  • 单元格边框和颜色
  • OpenPyXL函数,如iter_rows()iter_cols()
  • 值在更新时自动应用于工作表参见问题1

路线图/待办事项

  • 文件(WIP)
  • 公式
  • 筛选器和透视表

安装

要求:

  • Python3.6+

通过Pip安装

$ pip install gspread2

基本用途

入门

创建API凭据

在使用这个库之前,你必须登录谷歌开发者页面并设置一个服务帐户, 允许对Google工作表进行读/写访问。在

  1. 前往Google Developers Console 然后创建一个新的项目(或选择您拥有的项目)

  2. 导航到“API&Services”、“凭据”。在

  3. 单击“创建凭据”、“服务帐户”并按照提示进行操作。 在最后一页上,创建一个JSON键并将其保存在本地。您需要将其导入库以进行身份验证 到API。在

  4. 一旦你点击“完成”,你将看到“服务帐户”下的电子邮件地址,记下那封邮件。在

  5. 在你的谷歌工作表上,点击“分享”并在上面添加电子邮件。在

  6. 现在,您应该拥有查看和编辑Google工作表的凭据和权限。在

加载工作簿

要访问工作簿,您需要googlesheeturl和上面所示的凭证文件。 以下代码示例将返回工作簿对象:

^{pr2}$

也可以导入工作簿类并使用相同的参数初始化它:

fromgspread2.modelsimportWorkbookURL='https://docs.google.com/spreadsheets/d/spreadsheetID'CREDENTIALS='path/to/json.file'workbook=Workbook(URL,CREDENTIALS)
加载工作表

加载工作簿后,可以通过多种方式访问工作表:

workbook=gspread2.load_workbook(URL,CREDENTIALS)worksheet=workbook['Sheet 1']

或者

workbook=gspread2.load_workbook(URL,CREDENTIALS)worksheet=workbook.get_sheet_by_name('Sheet 1')

要得到第一张纸(通常是激活的那张):

workbook=gspread2.load_workbook(URL,CREDENTIALS)worksheet=workbook.active

选择单元格

您可以单独选择单元格或遍历列和行(其他gspread函数仍然可用,例如 作为worksheet.range()

工作表.cell()

在工作表中选择单个单元格

cell=worksheet.cell(1,2)# 1st row, 2nd column

或者

cell=worksheet.cell('B1')
工作表.iter_行()

返回每行的单元格列表。此函数与OpenPyXL上的函数相同。
参数如下:

  • 起始行(默认:第一行)
  • 结束行(默认:最后一行)
  • 起始列(默认:第一列)
  • 结束列(默认:最后一列)
worksheet.iter_rows(2,4,3,5)

上面的示例将返回:

[[Cell(C2),Cell(D2),Cell(E2)],[Cell(C3),Cell(D3),Cell(E3)],[Cell(C4),Cell(D4),Cell(E4)],]
工作表.iter_cols()

返回每列的单元格列表。此函数与OpenPyXL上的函数相同。
参数如下:

  • 起始行(默认:第一行)
  • 结束行(默认:最后一行)
  • 起始列(默认:第一列)
  • 结束列(默认:最后一列)
worksheet.iter_cols(2,4,3,5)

上面的示例将返回:

[[Cell(C2),Cell(C3),Cell(C4)],[Cell(D2),Cell(D3),Cell(D4)],[Cell(E2),Cell(E3),Cell(E4)],]

编辑单元格

单元值

一旦您检索到上面所示的所需单元格,您将需要更新该值。 在原始的gspread库中,您必须跟踪所有修改过的细胞并将其传递给 worksheet.update_cells()
gspread2中,不必将单元格传递给函数,库将知道您修改了什么。在

cell=worksheet.cell(1,1)cell.value='New Value'worksheet.update_cells()
单元格

gspread不提供任何格式化功能。要对单元格应用格式,必须初始化字体实例 (gspread2.styles.Font

fromgspread2.stylesimportFontcell=worksheet.cell(1,1)new_font=Font(name='Arial',size=12,bold=True,italic=True,strikethrough=True,underline=True,color='#FF000000',)cell.font=new_fontworksheet.update_cells()

Font的所有参数都是可选的,默认为None
None为值的参数将在更新时保持不变。在

单元填充

要对单元格应用背景色,必须初始化gspread2.styles.colors.Color 并将其设置为cell.fill

fromgspread2.styles.colorsimportColorcell=worksheet.cell(1,1)bg_colorColor('#FF000000')cell.fill=bg_colorworksheet.update_cells()

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

推荐PyPI第三方库


热门话题
java Spring注入SessionFactory或EntityManagerFactory而不是EntityManager   JavaApacheSolr,需要单个字段的多个字段,同时优化查询以仅命中特定索引   java未处理的内部错误。组织。阿帕奇。hadoop。映射。作业控制。作业控制。addJob   java通过post请求向进程传递动态文件名   Java在几秒钟内处理位图上的每个像素   java Payara服务器和NetBeans 8.2:请求在不支持异步操作的筛选器或servlet的范围内   java JTable:复杂单元渲染器   hashmap Java按值传递和按引用传递   用于列<V,T>的java JavaFX列排序,其中T扩展了ObservableList<U>   java如何将安卓 progressbar(水平)的颜色更改为不同的部分?   java如何将不同模块的类绑定到jar?   java如何将图像上传/下载到GAE数据存储?   Java中的eclipse三值运算符帮助   http在哪些方法调用java之后向服务器发送真正的请求?