Python - 使用fusiontables表id无效的文字错误

时间:2013-02-04 13:46:18

标签: python python-2.7 google-fusion-tables

我有this example用于将数据插入到funsiontables中......

代码基本上创建一个新表并将其id存储到变量中以支持插入,更新或删除功能。该代码来自2010/2011,我认为谷歌从那时起改变了table_id格式,因为我在下面的行中收到以下错误:

return 'INSERT INTO %d (%s) VALUES (%s)' % \
  (int(table_id), ','.join(["'%s'" % col for col in cols]), stringValues)

错误:

 (int(table_id), ','.join(["'%s'" % col for col in cols]), stringValues)
ValueError: invalid literal for int() with base 10: '1PHHo1h0tA0VxI09mAH0AH_IDNUpN5Hm-aTaAqO0'

我可以简单地将其更改为简单的SQL语句,但我确信我需要在项目的后续步骤中处理table_id或row_id。所以,我想保持它已经完成的方式,如果可能的话,修复它。但是,我无法理解通过table_id转换为int的问题“1PHHo1h0tA0VxI09mAH0AH_IDNUpN5Hm-aTaAqO0”......

函数int()支持任何整数或字符串...

有人可以帮我吗?

1 个答案:

答案 0 :(得分:2)

table_id似乎不是数字整数。

您可以尝试按如下方式修改代码:

return 'INSERT INTO %s (%s) VALUES (%s)' % \
 (table_id, ','.join(["'%s'" % col for col in cols]), stringValues)

换句话说,使用table_id作为简单字符串。