엑셀 파일 생성 질문 있습니다!!!

조회수 702회
import openpyxl

# sample.xlsx이라는 이름의 빈 excel 파일을 해당 py 파일과 같은 폴더에 만들어 놔야합니다.
excel_document = openpyxl.load_workbook('same.xlsx')

sheet1 = excel_document.get_sheet_by_name('TEST')

initSet = ['0.1','0.2','0.3','0.4']

list = [[0.1,0.2,0.3],[0.1,0.3,0.6],[0.2,1.4,0.3],[1.6,1.4,1.5,1,1,1,1,1]

for i in range(0,initSet.__len__()):
    sheet1.cell(i+1,1).value = initSet [i]


for col in range(0,list.__len__()) :
    for row in range(0,list[col].__len__()):
        sheet1.cell(row+2,col+1).value = list[row][col]


excel_document.save("TEST.xlsx")
excel_document.close()

위에 for문 initSet 부분이 SyntaxError: invalid syntax 나 뜨고

아래 for 문은 범위 설정이 잘못 되었다고 나오는데 고수님들 오류 해결이랑 설명 부탁 드립니다!!!!!!

1 답변

  • ] 가 빠졌네요. 그래도 문법에러가 발생하니 그 부분은 직접 해보세요.

    list = [[0.1,0.2,0.3],[0.1,0.3,0.6],[0.2,1.4,0.3],[1.6,1.4,1.5,1,1,1,1,1]  # ] 가 빠짐 
    

    추가적으로 __len__ 이런 던더로 시작하는 함수는 직접호출하는 용도가 아니라 콜백으로 호출되는 용도입니다.

    아래와 같이 수정하세요.

    len(initSet)
    

    물론 len 함수(실제 함수가 아님)를 호출하면 __len__ 이 불리어지나 둘은 전혀 다른 결과를 낼 수 있습니다.

    스페셜 메소드는 특이한 경우를 제외하곤 직접 호출하지 않는 다는 것을 염두해두면 좋습니다.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)