将文件内容而不是文件名传递给xlrd模块的open_workbook()方法

时间:2013-01-31 15:11:47

标签: python xlrd

有没有办法将Excel文件的内容而不是文件名/引用传递给xlrd模块的open_workbook()函数?为此我一直在尝试使用“file_contents”参数,但到目前为止还没有取得任何成功。谢谢。

2 个答案:

答案 0 :(得分:1)

在大多数需要打开文件的地方,StringIO对象也可以使用。

您只需从文件数据中创建一个StringIO对象,并将该对象作为文件传递给您的函数。

答案 1 :(得分:0)

@ Ber的评论是正确的。您将需要使用StringIO对象的getvalue()方法并将其传递给函数调用中的file_content参数。

f = StringIO.StringIO(content)
book = xlrd.open_workbook(file_contents = f.getvalue() )