4
我試圖用隨機生成的字符串和數字編寫一個字典到Excel文件。我幾乎成功了,但有一個小問題。我的字典的結構如下:如何將python字典寫入excel文件?
Age: 11, Names Count: 3, Names: nizbh,xyovj,clier
本字典是從通過文本文件獲取的數據生成的。它根據年齡彙總所有內容,如果兩個人年齡相同,則將它們組合成一個列表。我試圖將這些數據寫入Excel文件。到目前爲止,我已經寫了這段代碼。
import xlsxwriter
lines = []
workbook = xlsxwriter.Workbook('demo.xlsx')
worksheet = workbook.add_worksheet()
with open ("input2.txt") as input_fd:
lines = input_fd.readlines()
age_and_names = {}
for line in lines:
name,age = line.strip().split(",")
if not age in age_and_names:
age_and_names[age]=[]
age_and_names[age].append(name)
print age_and_names
for key in sorted(age_and_names):
print "Age: {}, Names Count: {}, Names: {}".format(key, len(age_and_names[key]), ",".join(age_and_names[key]))
row=0
col=0
for key in sorted(age_and_names):#.keys():
row += 1
worksheet.write(row, col, key)
for item in age_and_names[key]:
worksheet.write(row, col+1, len(age_and_names[key]))
worksheet.write(row, col+1, item)
row+=1
workbook.close()
但是,這其實是做的是這個(Excel文件):
11 nizbh
xyovj
clier
我應該怎麼做,使它看起來像這樣呢?
Age Name Count Names
11 3 nizbh, xyovj, clier
的問題是您的最終兩個'for'循環。在你的腦海裏或紙上仔細地瀏覽這些內容,或者通過添加'print'語句來調試你實際寫到什麼行和列的內容。提示:你不止一次覆蓋了一些單元格的內容。 – nekomatic
Kudos @nekomatic保持樂趣和挑戰性 –
任何其他提示在逗號分隔的同一個單元格中打印值?其他一切都很好。 – DeA