【问题标题】:How to export python list into excel file using xlwt?如何使用 xlwt 将 python 列表导出到 excel 文件中?
【发布时间】:2021-07-18 16:16:04
【问题描述】:

这里我试图将 python 列表导出到 excel 文件,但它不能正常工作。

列表将是动态的。

response = HttpResponse(content_type='application/ms-excel')
response['Content-Disposition'] = 'attachment; filename="excle_file.xls"'

wb = xlwt.Workbook(encoding='utf-8')
ws = wb.add_sheet('datas', cell_overwrite_ok=True)

row_num = 0

font_style = xlwt.XFStyle()
font_style.font.bold = True

columns = ['col1', 'col2', 'col3', 'col4', 'col5']

for col_num in range(len(columns)):
    ws.write(row_num, col_num, columns[col_num], font_style)

font_style = xlwt.XFStyle()
rows = [20, Decimal('50000.00'), Decimal('10.00'), Decimal('40000.00'), Decimal('90000.00'), 21, Decimal('31000.00'), Decimal('2000.00'), Decimal('41000.00'), Decimal('74000.00')]

for i,e in enumerate(rows):
   ws.write(i,1, e)

wb.save(response)
return response

我想要这样的回应。

col1  col2   col3  col4  col5
20    50000   10   40000  90000
21    31000   2000 41000  74000

当前响应

col1  col2   col3  col4  col5
      20    
      50000  
      10   
      40000  
      90000
      21    
      31000  
      ....

我还想根据文本增加列的大小?怎么做?

【问题讨论】:

    标签: python list xlwt


    【解决方案1】:

    根据文档https://xlwt.readthedocs.io/en/latest/api.html#xlwt.Worksheet.Worksheet ws.write 需要(行、列、值)。比较改变后得到的结果:

    ws.write(i,1, e)
    

    到:

    print(i,1, e)
    

    然后如果你把它如何改变:

    print(int(i/5),int(i)%5, e)
    

    【讨论】:

    • 感谢 +1 它解决了一个问题,但现在列名 col1col2.. 丢失了
    • 我从来没有用过 xlwt 所以在这里猜测,但是改为 int(i/5)+1 ?在它从第 0 行开始之前,这是您放置列名的位置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-14
    • 2018-10-15
    • 2018-10-30
    • 1970-01-01
    • 2012-07-30
    • 1970-01-01
    相关资源
    最近更新 更多