06-创建、上传和列出电子表格
14.2.1 创建、上传和列出电子表格
你可以通过现有的电子表格、空白电子表格或上传的电子表格,来创建一个新的 Spreadsheet
对象。要从现有的Google Sheets电子表格中创建一个 Spreadsheet
对象,你需要电子表格的ID字符串。Google Sheets电子表格的唯一ID可以在URL中找到,在spreadsheets/d/部分之后、/edit部分之前。例如,图14-4所示的电子表格的URL是https://docs. ****
.com/spreadsheets/d/1J-Jx6Ne2K_vqI9J2SO-TAXOFbxx_9tUjwnkPC22LjeU/edit#gid=15151537240/,因此它的ID是 1J-Jx6Ne2K_vqI9J2SO-TAXOFbxx_9tUjwnkPC22LjeU
。
注意:
本章中使用的具体电子表格ID针对的是我的Google账户的电子表格。如果你将它们输入你的交互式 shell
中,不会起作用。请转到Google sheets网站,在你的账户下创建电子表格,然后从地址栏中获取ID。
将电子表格的ID作为一个字符串传递给 ezsheets.Spreadsheet()
函数,以获取电子表格的 Spreadsheet
对象:
>>> import ezsheets
>>> ss = ezsheets.Spreadsheet('1J-Jx6Ne2K_vqI9J2SO-TAXOFbxx_9tUjwnkPC22LjeU')
>>> ss
Spreadsheet(spreadsheetId='1J-Jx6Ne2K_vqI9J2SO-TAXOFbxx_9tUjwnkPC22LjeU')
>>> ss.title
'Education Data'
方便起见,你也可以通过传递电子表格的完整URL来获取现有电子表格的 Spreadsheet
对象。或者,如果你的Google账户中只有一个具有该标题的电子表格,那么你可以将该电子表格的标题作为一个字符串传递给函数。
要创建一个新的空白电子表格,请调用 ezsheets.createSpreadsheet()
函数,并传入一个字符串作为新电子表格的标题。例如,在交互式环境中输入以下内容:
>>> import ezsheets
>>> ss = ezsheets.createSpreadsheet('Title of My New Spreadsheet')
>>> ss.title
'Title of My New Spreadsheet'
要将现有的Excel、OpenOffice、CSV或TSV电子表格上传到Google Sheets,请将电子表格的文件名传给 ezsheets.upload()
。在交互式环境中输入以下内容,用你自己的电子表格文件替换 my_spreadsheet.xlsx
:
>>> import ezsheets
>>> ss = ezsheets.upload('my_spreadsheet.xlsx')
>>> ss.title
'my_spreadsheet'
你可以通过调用 listSpreadsheets()
函数来列出你的Google账户中的电子表格。上传电子表格后,在交互式环境中输入以下内容:
>>> ezsheets.listSpreadsheets()
{'1J-Jx6Ne2K_vqI9J2SO-TAXOFbxx_9tUjwnkPC22LjeU':'Education Data'}
listSpreadsheets()
函数返回一个字典,其中的键是电子表格ID,值是每个电子表格的标题。
一旦你获得了一个 Spreadsheet
对象,就可以使用它的属性和方法来操作托管在Google Sheets上的在线电子表格了。