我在谷歌驱动器上有csv文件,他们是公开的,我必须用Python在GAE中读取这个csv。
我的解决方案是
def get_content(self, id):
file = self.get_item(id)
if file['downloadUrl'] is not None:
url = file.get('downloadUrl')
content = self.service._http.request(url)
return content
else:
return None
但我不解析这个内容,任何想法???
答案 0 :(得分:1)
它非常直接。我建议您花一些时间阅读StringIO所做的事情以及如何使用它,你可能会发现你会使用它。
from StringIO import StringIO
import csv
content = StringIO(content)
reader = csv.reader(StringIO(content))
如果需要编写csv文件,将使用相同的机制。
答案 1 :(得分:0)
def getService(self):
http = httplib2.Http()
scope = ['https://www.googleapis.com/auth/drive']
cred = build_credentials(scope=scope)
cred.authorize(http)
service = build("drive", "v2", http=http)
return service
def getFileFromDrive(self):
service = self.getService()
myfile = service.files().get(fileId="myfileId").execute()
url = myfile['downloadUrl']
content = service._http.request(url)
return content
def fileOpeation(self):
content = self.getFileFromDrive()
StringIO(content)
reader = csv.reader(StringIO(content))
return reader
这是我的最终代码,这是有效的!谢谢蒂姆