我想知道是否有任何解决方法(阅读:hacks)使用Google Spreadsheet API,但不会限制其中的值小写的标题行不含空格。 我知道我可以使用基于单元格的Feed,但是这会让我的应用程序开销不得不跟踪与特定列名称对应的列号。使用谷歌电子表格API而不在小写字母中添加标题行中的值并删除空格
有没有人有另一种方法?
(另外我注意到,Google Spreadsheet API Docs不作标题行名称限制的任何提及,我不得不四处搜寻,找出为什么我的代码最初没有工作)
我想知道是否有任何解决方法(阅读:hacks)使用Google Spreadsheet API,但不会限制其中的值小写的标题行不含空格。 我知道我可以使用基于单元格的Feed,但是这会让我的应用程序开销不得不跟踪与特定列名称对应的列号。使用谷歌电子表格API而不在小写字母中添加标题行中的值并删除空格
有没有人有另一种方法?
(另外我注意到,Google Spreadsheet API Docs不作标题行名称限制的任何提及,我不得不四处搜寻,找出为什么我的代码最初没有工作)
你不必实际上更改电子表格中的任何标题并弯曲一些限制。基本上,API将您的标题转换为“小写字母无空格”格式,您可以像这样访问它们。所以试图访问一个标题为“My Header”的列将通过查询列“myheader”来工作。原始电子表格中的标题保持不变并采用所需的格式。
#header_names = list of header names
spreadclient = gdata.spreadsheets.client.SpreadsheetsClient(source='Your App Name')
#Add a line to authenticate the spreadsheet client
spreadsheet_key = spreadsheet.GetId().split("%3A")[1]
worksheets = spreadclient.GetWorksheets(spreadsheet_key)
#get worksheet id
wsid = worksheets.entry[0].GetWorksheetId()
#header row can only be accessed via cellfeed
for i,name in enumerate(header_names):
cellentry= spreadclient.GetCell(spreadsheet_key, worksheet_id=wsid, row_num=1, col_num=1+i)
#update value
cellentry.cell.input_value = name #TODO: do batch update instead
spreadclient.update(cellentry)
@fordpw这适用于python。你需要gdata客户端库 – 2012-10-14 11:55:31
api不是简单地将标题值转换为单个单词小写吗?因此,如果您的电子表格中包含“我的标题”,则可以通过api将其作为“myheader”进行访问,即您的电子表格中可以包含没有此限制的值,并且仍然可以访问它。 – Marco 2012-07-22 23:02:01