如何阅读或解析远程csv(在Google Drive上)GAE(Python)

时间:2014-01-10 09:39:45

标签: python google-app-engine csv

我在谷歌驱动器上有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

但我不解析这个内容,任何想法???

2 个答案:

答案 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

这是我的最终代码,这是有效的!谢谢蒂姆