将文件内容而非文件名传递给xlrd模块的open_workbook()方法
有没有办法把一个Excel文件的内容直接传给xlrd模块的open_workbook()函数,而不是传文件名或文件路径呢?我试过用“file_contents”这个参数来实现,但到现在为止都没有成功。谢谢。
2 个回答
2
@Ber的评论是对的。你需要使用StringIO对象的getvalue()方法,然后把这个值传递给函数调用中的file_content参数。
f = StringIO.StringIO(content)
book = xlrd.open_workbook(file_contents = f.getvalue() )
1
在很多需要打开文件的地方,使用一个 StringIO 对象也能达到同样的效果。
你只需要从文件数据创建一个 StringIO 对象,然后把这个对象当作文件传给你的函数就可以了。