从python中的URL读取xls文件



我正试图从下面的python链接中读取数据https://drive.google.com/file/d/16cp23cJxeyUfnBHMp-sNCuFNQxe8cqOV/view

我试过这个:

import pandas as pd

path = pd.read_excel('https://drive.google.com/file/d/16cp23cJxeyUfnBHMp-sNCuFNQxe8cqOV/view')

返回此错误:

XLRD错误:不支持的格式或损坏的文件:应为BOF记录;找到b'<!DOCTYP'

然后我尝试使用cvs格式

path = pd.read_csv('https://drive.google.com/file/d/16cp23cJxeyUfnBHMp-sNCuFNQxe8cqOV/view')

返回此

ParserError:标记数据时出错。C错误:第133行预期298个字段,看到440

最后我试过这个:

path = pd.read_csv("https://drive.google.com/file/d/16cp23cJxeyUfnBHMp-sNCuFNQxe8cqOV/view")

这读取了数据,但这不是我在看到链接(283行,7列(后所期望的。照片如下。

读取数据时出错

有什么想法可以让我读取数据吗?

感谢

使用此示例从Google Drive下载excel(fileid是URL中/d/部分之后的ID(:

fileid = "16cp23cJxeyUfnBHMp-sNCuFNQxe8cqOV"
df = pd.read_excel(
"https://drive.google.com/uc?export=download&id={fileid}".format(
fileid=fileid
),
skiprows=17,
)
print(df)

打印:

Unnamed: 0                                         Unnamed: 1                                         Unnamed: 2 Petajoules Gigajoules           %
0           NaN                                        Afghanistan                                        Afghanistan        321         10   78.669280
1           NaN                                            Albania                                            Albania        102         35  100.000000
2           NaN                                            Algeria                                            Algeria       1959         51    0.551010
3           NaN                                     American Samoa                                     American Samoa        ...        ...    0.641026
4           NaN                                            Andorra                                            Andorra          9        121   88.695650
5           NaN                                             Angola                                             Angola        642         27   70.909090
...and so on.

最新更新