Skip to main content
 首页 » 编程设计

python之Python xlrd (Python Excel) 和 Amazon S3 的 IOError

2025年05月04日15zfyouxi

我正在做一个简单的 Python (Django) 应用程序,它读取 Excel 文件并将其中的一部分打印在屏幕上。当我使用存储在本地 PC 中的 excel 文件在本地运行它时,它运行良好。

代码如下:

from xlrd import open_workbook     
def hello(request): 
        wb = open_workbook('test.xlsx') 
        sh = wb.sheet_by_index(0) 
        a = sh.cell_value(rowx=0, colx=0) 
        return HttpResponse(a) 

然而,当我尝试使用这个从 S3 读取文件时:

wb = open_workbook('http://s3.amazonaws.com/mybucketsample/test.xlsx') 

我收到以下错误:

IOError at /  
 
[Errno 22] invalid mode ('r') or filename: 'http://s3.amazonaws.com/mybucketsample/test.xlsx' 

我做错了什么?

非常感谢,

埃德

请您参考如下方法:

也许这行得通:

import urllib2 
 
url = 'http://s3.amazonaws.com/mybucketsample/test.xlsx' 
filecontent = urllib2.urlopen(url).read() 
 
wb = open_workbook(file_contents=filecontent)