如何将MS excel(.xlsx)文件从google drive导入colaboratory?
excel_file = drive.CreateFile({'id':'some id'})
不起作用(Drive
是一个pydrive.drive.GoogleDrive
对象)。但是,
print excel_file.FetchContent()
返回无。和
excel_file.content()
抛出:
()中的TypeErrorTraceback(最近一次调用)----
_io。BytesIO对象不可调用
我的意图是(给定一些有效的文件'id')将其导入为一个io对象,它可以被熊猫read_excel()
读取,并最终从中获得一个熊猫数据帧。
首先,我从google.colab导入iOS、熊猫和文件
import io
import pandas as pd
from google.colab import files
然后,我使用上传小部件上传文件
uploaded = files.upload()
让我们假设文件的名称my_spreadsheet.xlsx,所以您需要在以下行中使用它:
df = pd.read_excel(io.BytesIO(uploaded.get('my_spreadsheet.xlsx')))
就这些,现在您有了df数据帧中的第一张表。但是,如果有多张图纸,则可以将代码更改为:
首先,将io调用移动到另一个变量
xlsx_file = io.BytesIO(uploaded.get('my_spreadsheet.xlsx'))
然后,使用新变量指定工作表名称,如下所示:
df_first_sheet = pd.read_excel(xlsx_file, 'My First Sheet')
df_second_sheet = pd.read_excel(xlsx_file, 'My Second Sheet')
也许是一个更简单的方法:
#To read/write data from Google Drive:
#Reference: https://colab.research.google.com/notebooks/io.ipynb#scrollTo=u22w3BFiOveAå
from google.colab import drive
drive.mount('/content/drive')
df = pd.read_excel('/content/drive/My Drive/folder_name/file_name.xlsx')
# #When done,
# drive.flush_and_unmount()
# print('All changes made in this colab session should now be visible in Drive.')
您需要使用excel_file。GetContentFile
将文件保存在本地。然后,您可以在您之后使用Pandasread_excel
方法!pip安装-q xlrd。
这里有一个完整的例子:https://colab.research.google.com/notebook#fileId=1SU176zTQvhflodEzuiacNrzxFQ6fWeWC
我做了更详细的工作:
我在图纸中创建了一个新的电子表格,并将其导出为一个文件。xlsx文件。
接下来,我将其导出为. xlsx文件并再次上传到Drive。网址是:https://drive.google.com/open?id=1Sv4ib5i7CKWhAHZkKg-uitIkS3xwxtXM
注意文件ID。在我的例子中,它是1Sv4ib5i7CKWhAHZkKg-uitIkS3xwxtXM
。
然后,在Colab中,我调整了驱动器下载片段以下载文件。关键位是:
file_id = '1Sv4ib5i7CKWhAHZkKg-uitIkS3xwxtXM'
downloaded = drive.CreateFile({'id': file_id})
downloaded.GetContentFile('exported.xlsx')
最后,创建一个Pandas DataFrame:
!pip install -q xlrd
import pandas as pd
df = pd.read_excel('exported.xlsx')
df
<代码>!行安装xlrd库,这是读取Excel文件所需要的。
上面的代码在colab中调用,使用: 文件夹已正确创建。但是它不是将500MB+zip文件下载到checkpoints文件夹,而是从下载确认页面下载html。在日志记录中,该脚本似乎每次都提取一个新的下载确认字符串,这通常应该强制Google Drive在没有病毒扫描的情况下下载:
问题内容: 我正在尝试从Google驱动器下载文件,我所拥有的只是驱动器的URL。 我已经阅读了有关API和的google API ,其中还需要一些凭据(主要是JSON )。但是我不知道它是如何工作的。 另外,尝试过,但我的情况是从驱动器中获取文件。也尝试过,但没有用。 尝试过的图书馆。它具有良好的驱动上传功能,但没有下载选项。 任何帮助将不胜感激。谢谢。 问题答案: 如果用“驱动器的网址”表示G
我对谷歌驱动器有问题。 链接前: 工作很好,直到现在:-(但现在它不再工作了。结果没有找到错误404,但文件存在。我可以上传文件和轻松构建下载URL。 例如,公共文档。 我如何才能下载未经授权的文件,我需要直接链接。 谢谢!!!
我想从网站下载文件。 该网站有一个文件下载按钮。 但是,当我通过<code>按钮单击下载按钮时。click(),文件不会在Colaboratory上下载。(它在Juypyter Notebook工作。) 我用谷歌搜索并找到了解决方案。我应用该解决方案的代码如下: 但是我在任何地方都找不到下载的文件。 我是否必须在prefs上键入?(但它没起作用。) 如果没有,如何在 Colab 上使用 Selen
来自https://pypi.org/project/tqdm/: 我获取了这段代码并对其进行了编辑,以便从load_excel创建数据帧,而不是使用随机数: 这给了我一个错误,所以我将df.progress_apply改为: 这是最终代码: 这会产生一个进度条,但它实际上并不显示任何进度,而是加载进度条,当操作完成时,它会跳到100%,从而达到目的。 我的问题是:如何让这个进度条工作? prog
即使驱动程序类名已定义,我也会收到此错误 Java语言lang.IllegalStateException:无法加载驱动程序类:com。mysql。jdbc。组织的驱动程序。springframework。util。明确肯定state(Assert.java:392)~[spring-core-4.2.1.RELEASE.jar:4.2.1.RELEASE]位于org。springframewor