我zipfile
的Google Drive
. 在那zipfile
是一个XML file
,我想解析,提取特定信息并将此信息保存在我的本地计算机(或任何地方)上。
我的目标是使用 Python 和 Google Drive API(在PyDrive的帮助下)来实现这一点。工作流程可能如下:
- 通过 Google Drive API (PyDrive) 连接到我的 Google Drive
- 获取我的 zipfile id
- 将我的 zipfile 加载到内存中
- 解压,获取xml文件
- 解析 XML,提取所需信息
- 在我的本地计算机上将其另存为 csv
现在,我可以执行步骤 1、2、4、5、6。但是我不知道如何将 zipfile 加载到内存中而不先将其写入本地硬盘。
以下 PyDrive 代码将获取 zipfile 并将其放在我的本地 HDD 上,这不是我想要的。
toUnzip = drive.CreateFile({'id':'MY_FILE_ID'})
toUnzip.GetContentFile('zipstuff.zip')
我想一种解决方案可能如下:
我可以将 zipfile 读取为带有某种编码的字符串:
toUnzip = drive.CreateFile({'id':'MY_FILE_ID'})
zipAsString = toUnzip.GetContentString(encoding='??')
然后,我可以以某种方式(不知道如何,也许StringIO
有用)用 Python zipfile 库读取这个字符串。这个解决方案甚至可能吗?有没有更好的办法?