繁体   English   中英

打印字典键与其值一样多的次数

[英]Printing dictionary key as many times as its value

我有一个包含以下键值配对的字典:

mango 2
orange 3
banana 4

根据该值,我希望将密钥打印多次。 xlsx 文件中的预期输出:(仅限第一列)

mango
mango
orange
orange
orange
banana
banana
banana
banana

我尝试了以下方法:

import xlsxwriter
workbook=xlsxwriter.Workbook('TEST.xlsx')
sheet=workbook.add_worksheet() 
row=0
for key in list(values.keys()):
    for i in range(int(values[key])):
        sheet.write_column(row,0,key)
        row=row+1   
workbook.close()

我得到以下内容:

在此处输入图片说明

我究竟做错了什么? 感谢帮助。

根据xlsxwriter文档

write_column() 方法可用于一次性写入数据列表。 这对于将数据库查询的结果转换为 Excel 工作表很有用。 为数据的每个元素调用 write() 方法。

如果您将数据作为列表传递,则在循环之后它将正确写入您的数据。

column = []
for key, value in d.items():
    for i in range(value):
        column.append(key)

sheet.write_column(row = 0, col = 0, data = column)

不包括输出到笔记本的代码,应该类似于您已经完成的内容:

  def get_column_keys(storeFruits, val):
    reps = []
    for key in storeFruits.keys():
        if storeFruits[key] == val:
            reps.append(key)
    return reps

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM