如何将列表转换为excel?

时间:2017-12-12 11:30:32

标签: python

ordered_list = [ "Mon","Tue","Wed","Thu","Fri","Sat","Sun"]

wb = Workbook('dem.xlsx')
ws = wb.add_worksheet("New Sheet")

first_row=0
for header in ordered_list:
     col=ordered_list.index(header)
     ws.write(first_row,col,header)
col=1
for j in po:
    row=ordered_list.index(j[0])
    ws.write(col,row,j[1])
    col+=1
wb.close()

我有列表po = [('Mon',6421),('Tue',6412),('Wed',12416),('Thu',23483),('Fri',8978),( '星期六',7657),('太阳',6555)]。我必须在Excel表格中打印此列表,如

mon 6421
Tue  6412
wed  12416
 '''
 '''
Sun  6555

但我会这样。任何人都可以帮我解决这个问题。

   Mon  Tue Wed Thu Fri Sat Sun
  6421                      
       6412                 
           12416                
               23483            
                    8978        
                       7657 
                           6555

2 个答案:

答案 0 :(得分:2)

在熊猫的帮助下,您可以轻松搞定。

import pandas as pd

po = [('Mon', 6421), ('Tue', 6412), ('Wed', 12416), ('Thu', 23483), ('Fri', 8978), ('Sat', 7657), ('Sun', 6555)]

# Generate dataframe from list and write to xlsx.
pd.DataFrame(po).to_excel('output.xlsx', header=False, index=False)

答案 1 :(得分:-1)

只需遍历po列表即可。它已经有标题字段和数据字段。使用enumerate()提供行号。

wb = Workbook('dem.xlsx')
ws = wb.add_worksheet("New Sheet")

po = [('Mon', 6421), ('Tue', 6412), ('Wed', 12416), ('Thu', 23483), ('Fri', 8978), ('Sat', 7657), ('Sun', 6555)]

for row, item in enumerate(po):
    ws.write_row(row, 0, item)

wb.close()

我没有费心为日名添加交替大写 - 我不认为你真的想要那个。