openpyxl 이용하여 데이터저장하는법 여쭈어봅니다!

조회수 2334회

for문을 이용하여 처리한 데이터

ex)

x1= []

for i in range(5):

    x1.append(random.uniform(0,10))

에서 나온 10개의 값을 엑셀의 각 셀에 입력하는 방법은 어떤게 있을까요...?

임의로 다 입력할 수 는 없는데.. 예제들과 openpyxl에서 설명된걸 보니 잘 모르겠어서 질문합니다!

감사합니다

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기
    import random
    from openpyxl import Workbook
    from openpyxl.compat import range
    
    from openpyxl.utils import get_column_letter
    wb = Workbook()
    dest_filename = 'Hash_Code.xlsx'
    ws1 = wb.active
    ws1.title = "Kwak_Sung_Il"
    x1 = list()
    for i in range(5):
        x1.append(random.uniform(0, 10))
    
    print(x1)
    
    for i in "ABCDE":
        tmp = i+"1"
        ws1[tmp] = x1.pop(0)
    wb.save(filename=dest_filename)
    
    
    
    

    일부러 친숙한 문장을 넣어두었습니다. 혹 오해하실까봐

    • 감사합니다!!! 곽성일 2017.10.11 14:09
    • 죄송하지만 이부분에 대한 내용습득은 어떤 방법으로 하는게 좋을까요...? 혹시 정리된 문서나 책이 있을까요? 곽성일 2017.10.11 14:15
    • 그리고 혹시 없다면 맨 마지막부분에 for i in "ABCDE" 부분에 tmp= i+"1" 과 ws1[tmp]=x1.pop(0) 부분이 어떤 의미인지 말씀해주시면 정말 감사드리겠습니다 ㅠㅠ 곽성일 2017.10.11 14:15
    • 그런건 없지만 oenpyxl 홈페이지에 안내가 그럭저럭 잘 되어 있고, 그다지 어렵지 않으니 홈페이지를 참조하세요 광자 2017.10.11 14:17
    • tmp= i+"1" 는 A1 B1 C1 D1등 값을 넣을 타겟 셀의 주소를 만드는 과정입니다. 광자 2017.10.11 14:58
    • "ws1[tmp]=x1.pop(0)" 는 "ws1=워크시트1" 의 "tmp=A1"셀에 넣을 값은 렌덤으로 만든 배열(X1)의 첫번째 원소부터 순서대로 넣는다(pop(0)) 입니다. 광자 2017.10.11 15:00
    • 죄송한데 혹시 그러면 총 500개의데이터를 5개의 데이터씩 a1,b1,c1,d1,e1////a2,b2,c2,d2,e2///....a100,b100,c100,d100,e100 으로 입력하려면 어떻게 해야하는지 아실까요...?ㅠㅠ openpyxl 사이트로 찾아보는데 알아보기가 어렵네요 ㅠㅠ 곽성일 2017.10.23 14:05
    • for i in "abcde": for j in range(1,501): tmp=i+str(j) 광자 2017.10.23 14:08
    • 말씀하신대로 시행하였으나 pop from empty list 라는 오류가 발생하는 이유는 어떤건지 아실까요...? 이전에는 발생하지 않았으나 추가한 명령문 실행이후로 발생을 하였습니다 곽성일 2017.10.23 14:38
    • 위에 제가 달은 리플은 전체 코드가 아니라, 각 루프를 도는 방법을 설명한 것 뿐 입니다. 지금 문제는 openpyxl을 못 다루시는게 아니라 파이썬 혹은 프로그래밍 그 자체를 못하시는 거에요. 도와드릴 방법이 없습니다. 광자 2017.10.23 17:28

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

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

(ಠ_ಠ)
(ಠ‿ಠ)