我正在使用 xlwt 生成一个 excel 文件并将其作为 blob 属性存储在数据存储中。但是在生成期间得到了这个错误"Timeout: The datastore operation timed out, or the data was temporarily unavailable."
。
我注意到使用 xlutils 我们可以更新现有文件。我打算做这样的事情,第一次我会用我的一半数据创建文件,然后使用另一个任务来完成文件创建。
有没有更好的方法来做到这一点?
这是我当前的代码:
from xlwt import *
wb = Workbook()
ws0 = wb.add_sheet("Sheet 1")
style = XFStyle()
style.font.name = 'Tahoma'
currency_style = XFStyle()
currency_style.num_format_str = '$#,##0.00'
ws0.write(0, 0, 'Col 1', style)
ws0.write(0, 1, 'Col 2', style)
ws0.write(0, 2, 'Col 3', style)
ws0.write(0, 3, 'Col 4', style)
rx = 1
for each in db_result:
ws0.write(rx, 0, each.col1, style)
ws0.write(rx, 1, each.col2, style)
ws0.write(rx, 2, each.col3, style)
try:
ws0.write(rx, 3, round(float(each.col4), 2), currency_style)
except:
ws0.write(rx, 3, each.col4, style)
rx = rx + 1
db.delete(each)
buffer = StringIO.StringIO()
wb.save(buffer)
contents = buffer.getvalue()
f = myfile()
f.name = 'File 1'
f.file = db.Blob(contents)
f.put()