在Google App Engine中,我正在尝试获取特定记录以及与之关联的内容。我使用以下(相关)代码(导入所有必需的GData并验证客户端):
sclient = gdata.spreadsheet.text_db.DatabaseClient(username, password)
gdata.alt.appengine.run_on_appengine(sclient)
gdata.alt.appengine.run_on_appengine(sclient._GetDocsClient())
gdata.alt.appengine.run_on_appengine(sclient._GetSpreadsheetsClient())
ss = sclient.GetDatabases(spreadsheet_key="0AqKqcvXam_kcdFlfckZfVzRiaVpRelp2T1FsVl9rRHc")
processedSheet = ss[0].GetTables(worksheet_id=1)
targetTotals = processedSheet[0].GetRecord(row_number=1)
total1 = targetTotals.content["votea"]
问题出在最后一行。它抛出了这个错误:
AttributeError: 'NoneType' object has no attribute 'content'
我查看了GData电子表格text_db模块的源代码,返回行说明了这一点:
return Record(content=None, row_entry=row_feed.entry[0],
意味着设计中的函数不返回内容?这没有多大意义。我使用了错误的功能吗?我想要完成的是连续获取单元格的值。我的电子表格(processedSheet指的是)具有名为“votea”,“voteb”等的列标题。第一行是整数。那么,有什么想法吗?
答案 0 :(得分:0)
确保电子表格中没有任何空行。 API会在遇到第一个空行时停止读取数据,因此如果电子表格中的第一行为空,则不会得到任何结果。