gspread包装
gspread2的Python项目详细描述
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工作表进行读/写访问。在
- 在
前往Google Developers Console 然后创建一个新的项目(或选择您拥有的项目)
在 - 在
导航到“API&Services”、“凭据”。在
在 - 在
单击“创建凭据”、“服务帐户”并按照提示进行操作。 在最后一页上,创建一个JSON键并将其保存在本地。您需要将其导入库以进行身份验证 到API。在
在 - 在
一旦你点击“完成”,你将看到“服务帐户”下的电子邮件地址,记下那封邮件。在
在 - 在
在你的谷歌工作表上,点击“分享”并在上面添加电子邮件。在
在 - 在
现在,您应该拥有查看和编辑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()
- 项目
标签: