4
임의로 생성 된 문자열과 숫자를 사용하여 사전을 Excel 파일에 작성하려고합니다. 나는 거의 성공했지만 사소한 문제가 하나있다. 내 사전의 구조는 다음과 같습니다 :어떻게 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()
그러나이 실제로하는 일은 (엑셀 파일)이 있습니다 :
11 nizbh
xyovj
clier
내가 그것을 대신이 같이 나타나도록해야합니까?
Age Name Count Names
11 3 nizbh, xyovj, clier
문제는 최종이'루프 for'입니다. 여러분의 머리 부분이나 종이 쪽을 조심스럽게 살펴 보거나, 실제로 행과 열에 쓰고있는 것을 디버깅하기 위해'print' 문을 추가하십시오. 힌트 : 일부 셀의 내용을 두 번 이상 덮어 쓰는 것입니다. – nekomatic
Kudos @nekomatic 재미 있고 도전적인 것을 유지하기 위해 –
쉼표로 구분 된 동일한 셀에 값을 인쇄하는 다른 힌트가 있습니까? 그 밖의 모든 것이 좋습니다. – DeA