파이썬 이용하여 리스트 내용 엑셀에 옮겨쓰기

조회수 377회
filename = "파일이름.xlsx"
book = openpyxl.load_workbook(filename)

# sheet 추출
sheet = book.worksheets[0]

# 데이터 입력
data = []
data_value = data
for row in sheet.rows:
    data.append([
        row[0].value,
        row[1].value,
        row[2].value,
        row[3].value,
        row[4].value,
        row[5].value,
        row[6].value, 
        row[7].value,
        row[8].value,
 ])

우선 위 코드를 이용하여, 엑셀 파일 내의 내용들을 리스트로 뽑아내는데는 성공했습니다.

그 결과 값은

['서원구 분평동', '전체', '전체', '전체', '전체', 99, '24,069', 0.41, 0.5], 

['서원구 사직제1동', '전체', '전체', '전체', '전체', 41, '7,139', 0.57, 0.49], 

['서원구 사직제2동', '전체', '전체', '전체', '전체', 65, '11,476', 0.57, 0.56], 

['서원구 사창동', '전체', '전체', '전체', '전체', 53, '14,171', 0.37, 0.43]

간략히 이정도 되며, 수십개가 됩니다.

제가 원하는 최종 결과는

빈칸이 있는 엑셀 파일에 위 내용들을 왼쪽부터 순차적으로 셀에 삽입을 하는 것입니다.

| 서원구 | 전체 | 전체 | 전체 | 전체 | 99 | 24,069 | 0.41 | 0.5 |
for y in range(2, 9):
    for x in range(3, 46):
        cell = ws.cell(row=x, column=y)
        ws.cell(row=x, column=y)

위 코드를 작성하여 실행하여 임의로 밸류값을 지정하여 데이터를 삽입해보니, 제가 원하는 위치에 값이 들어가더군요.

어떻게하면 리스트의 내용들을 개별적으로 각 셀마다 삽입을 할 수 있을까요?

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    이렇게 진행하면 될 것 같습니다.

    for n, datalist in enumerate(data, 1):
        for n2, i in enumerate(datalist, 1):
            cell = ws.cell(row = n, column = n2)
    
    • 혹시 datalist는 고안하신 변수인지 알 수 있을까요? 현재 제가 data라는 변수 안에 리스트를 담고 data_value로 재정의 했는데, datalist라는 변수는 어떻게 생성해야 하는지 잘 몰라서 질문드립니다. osc0533@gmail.com 2022.9.27 16:13
    • 제가 쓴 코드 잘 살펴보세요 초보자 2022.9.27 16:19
    • 아 제가 오타가 나서 오류가 뜬 거였어요 죄송합니다 ㅎ ㅎ,,, 근데 추가로 한 가지만 더 여쭤보겠습니다! 저렇게 실행하니 ValueError: Row or column values must be at least 1 라는 에러가 뜨는데 어떻게 해결하면 되는지 여쭤봐도 될까요? osc0533@gmail.com 2022.9.27 16:29
    • wb = load_workbook("filename.xlsx") ws = wb.active n = 2 n2 = 3 for n, datalist in enumerate(data): for n2, i in enumerate(datalist): i = ws.cell(row=n, column=n2) wb.save("filename.xlsx") wb.close() osc0533@gmail.com 2022.9.27 16:32
    • 코드는 위와 같이 작성했습니다...! osc0533@gmail.com 2022.9.27 16:32
    • 수정 내용 확인 초보자 2022.9.27 16:36
    • 정말 감사합니다! 해결했습니다!!! osc0533@gmail.com 2022.9.27 17:58

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

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

(ಠ_ಠ)
(ಠ‿ಠ)