我想從窗體中獲取一些xlsx文件,我使用openpyxl加載它們並執行一些數據處理..最後我需要將所有處理過的xlsx文件壓縮到用戶。多個openpyxl xlsx工作簿放入一個.zip文件下載
這裏是我做了什麼至今
if form.is_valid():
s = StringIO.StringIO()
zf = zipfile.ZipFile(s, mode="w")
for xlsx in request.FILES.getlist('xlsxs'):
element_column = "G"
element_row = 16
massar_column = "C"
massar_row_start = 18
loop = column_index_from_string(element_column)
while (loop <= ws.max_column):
for i in range(massar_row_start, ws.max_row+1):
# ...
ws["%s%s" % (element_column,i)] = 0
# ...
loop+=2
element_column = get_column_letter(loop)
buf = save_virtual_workbook(wb)
zf.write(buf) # or zf.write(wb)
zf.close()
response = HttpResponse(s.getvalue(), content_type="application/x-zip-compressed")
response['Content-Disposition'] = "attachment; filename=notes.zip"
return response
一個例子,我得到的錯誤提前爲你能提供任何幫助
TypeError at My_view
stat() argument 1 must be encoded string without null bytes, not str
感謝。
報告錯誤時,您應該提供完整的堆棧跟蹤 - 它會告訴您和我們實際錯誤的位置。您還應該包括Python版本以及其他庫(Django?)和其他版本。 – spookylukey
@spookylukey錯誤是在行'zf.write(buf)'我正在使用django 1.10與python 2.7.12 – ppp0h