我使用Google APIs Client Library for Python来更新一个融合表,并用Fusion Tables API v1将行添加到融合表中。当我使用sqlinsert查询方法一次只执行一行时,就可以成功地完成此操作。我还希望能够使用importRows
方法更新Fusion表。在
我从一个文件开始测试csv.csv'并希望将其完全导入现有的Fusion表中。有一个很好的概念解释来做这个here。在
这个概念性的例子解释了API是否接受图像,但是要更新融合表,类型必须是“application/octet stream”。在
我尝试使用importRows
方法和以下代码(注意:service
是经过身份验证的API连接):
from apiclient.discovery import build
from apiclient.http import MediaFileUpload
.
.
.
mediaCsv=MediaFileUpload(csvFileName, mimetype='application/octet-stream')
request = service.table().importRows(tableId=wrrTweetsID, media_body=mediaCsv,
startLine=1, encoding='auto-detect')
response = request.execute()
当我执行此代码时,会返回以下错误消息:
^{pr2}$我的问题是,我需要对.csv
做些什么来将其转换为application/octet-stream
?或者我在使用这个方法的过程中还遗漏了什么?在
{1}这是我所学过的问题。我还发现了我使用
importRows
的错误。method documentation表示我假设使用
'auto-detect'
是确保正确接收我的请求的最安全的方法。这是一个不正确的假设:将编码改为'utf-8'
会导致一个成功的importRows
请求。在相关问题 更多 >
编程相关推荐