我正在尝试将包含随机字符串和数字的字典写入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