将带有值列表的字典写入Excel文件

时间:2016-01-29 03:20:29

标签: xlsxwriter

使用python3 我有一本超过100把钥匙的字典。每个键的值都是一个列表。我想要做的是将字典的每个键写入Excel文档,每个术语都有自己的单元格,所有这些都在同一行上。

row = 0
col = 0

myDictionary = {
    'car seat':['$10', '12', 'IT1'],
    'piano':['$12', '2', 'IT1'],
    'picture frame':['$2', '14', 'IT1'],
    'shoes':['$20', '13', 'IT1'],
    }

for key in myDictionary.keys()::
    Result = [str(key), myDictionary[key]]
    worksheet.write_row(row, col, Result)
    row += 1

ExpectedOutput.xlsx(不包括标题):

KEY           / listvalue1 / listvalue2 / listvalue3
car seat      / $10        / 12         / IT1
piano         / $12        / 2          / IT1
picture frame / $2         / 14         / IT1
shoes         / $20        / 13         / IT1

我遇到的问题是我只能让Excel使用两列: 键/值

而不是我需要的4列: key / value1 / value2 / value3

因为我的字典中有100多个条目,所以我的目标是将每个密钥写入Excel,以便我可以轻松地对其进行排序。

2 个答案:

答案 0 :(得分:3)

不是将密钥嵌入到列表中(在这种情况下未正确完成),您可以明确地编写keyvalue

import xlsxwriter

workbook = xlsxwriter.Workbook('example.xlsx')
worksheet = workbook.add_worksheet()

myDictionary = {
    'car seat':['$10', '12', 'IT1'],
    'piano':['$12', '2', 'IT1'],
    'picture frame':['$2', '14', 'IT1'],
    'shoes':['$20', '13', 'IT1'],
    }

row = 0
for key in myDictionary.keys():
    worksheet.write(row, 0, key)
    worksheet.write_row(row, 1, myDictionary[key])
    row += 1

workbook.close()

输出:

enter image description here

注意,您可能希望迭代数据并更明确地转换它,例如,将美元值转换为数字。

答案 1 :(得分:0)

我要做的是将逗号分隔列表打印到CSV文件。

"KEY","listvalue1","listvalue2","listvalue3"
"car seat","$10", "12", "IT1"
"piano","$12", "2", "IT1"
"picture frame","$2", "14", "IT1"
"shoes","$20", "13", "IT1"

这可以在Python中轻松完成,Excel应该能够打开它。然后,您可以在电子表格中操作数据,或者如果您在其他地方需要,可以将其复制到另一个电子表格或电子表格标签中。