我习惯于通过以下方式创建电子表格:
wbk = xlwt.Workbook()
earnings_tab = wbk.add_sheet('EARNINGS')
wbk.save(filepath)
有没有什么方法可以不保存到文件路径,而是将其即时写入下载文件的用户?或者我是否需要将其保存为 tmp 文件,然后将其提供给用户?
去引用的文档.save()的方法xlwt:
它也可以是具有 write 方法的流对象,例如StringIO
,在这种情况下,excel 文件的数据将写入
溪流。
修改后的例子:
from io import StringIO # instead of Python 2.x `import StringIO`
f = StringIO() # create a file-like object
wbk = xlwt.Workbook()
earnings_tab = wbk.add_sheet('EARNINGS')
wbk.save(f) # write to stdout
有些人可能会建议您使用cStringIO
代替StringIO
,但要预先警告的是cStringIO
上次我检查时没有正确处理 Unicode。
重要更新
也许还值得注意的是StringIO
在 Python 3 中被替换为io
.
StringIO 和 cStringIO 模块消失了。相反,导入 io 模块并分别使用 io.StringIO 或 io.BytesIO 来表示文本和数据。
source
So use:
from io import StringIO
# instead of import StringIO
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)