繁体   English   中英

如何将python字典写入excel文件?

[英]How do I write a python dictionary to an excel file?

我正在尝试将随机生成的字符串和数字的字典写入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循环中。 我干涉并和他们一起玩,直到我到达答案。 他们工作正常。 感谢你们!

用这个替换最后的for循环:

for key in sorted(age_and_names):#.keys():
    row+=1
    worksheet.write(row, col, key)
    worksheet.write(row, col+1, len(age_and_names[key]))
    worksheet.write(row, col+2, ",".join(age_and_names[key]))

暂无
暂无

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

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