[英]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.