字典列表转化为xlwt格式

5

我有一个字典列表,想要使用xlwt将其转换为Excel。我对xlwt不熟悉,你能帮我吗?我想将其作为函数使用,接收字典列表并将其转换为Excel,然后返回结果。这是我的字典列表。

{'id':u'1','name':u'Jeff'}

 {'id':u'2','name':'Carlo'}
2个回答

6

如果有人需要带标题的版本:

import xlwt

w = xlwt.Workbook()
ws = w.add_sheet('sheet1')

columns = list(data[0].keys())

# write headers in row 0
for j, col in enumerate(columns):
    ws.write(0, j, col)

# write columns, start from row 1
for i, row in enumerate(data, 1):
    for j, col in enumerate(columns):
        ws.write(i, j, row[col])

w.save('data.xls')

4
制作一个工作表。然后使用Worksheet.write方法来填写单元格。
data = [
    {'id':u'1','name':u'Jeff'},
    {'id':u'2','name':'Carlo'},
]

import xlwt

w = xlwt.Workbook()
ws = w.add_sheet('sheet1')

columns = list(data[0].keys()) # list() is not need in Python 2.x
for i, row in enumerate(data):
    for j, col in enumerate(columns):
        ws.write(i, j, row[col])

w.save('data.xls')

出现了一个错误。它说意外的数据类型<type 'instancemethod'>。 - Nethan
@Nethan,你按原样运行了上面的代码吗?否则,请展示你的代码。 - falsetru
我认为它在我的列表中。我尝试使用静态字典列表,它起作用了。无论如何,非常感谢你的帮助。 - Nethan
@ Nethan,请展示你的代码,这样我就可以检查一下你的代码在做什么。 - falsetru
你好,我该如何在下面添加值之前在顶部添加标题? - Nethan
在循环之前,@Nethan应该使用w.write(0, 0, 'id'); w.write(0, 1, 'name')。您应该调整外部循环:for i, row in enumerate(data, 1): - falsetru

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接