簡體   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