openpyxl 사용중이고
ws1~ws5를 for문으로 사용하고 싶은데 아래로 적용하니 오류가 나네요 ㅠ
방법 아시는분 계시나용?
wb = Workbook()
ws = wb.active
ws1 = wb.create_sheet("테스트1")
ws2 = wb.create_sheet("테스트2")
ws3 = wb.create_sheet("테스트3")
ws4 = wb.create_sheet("테스트4")
ws5 = wb.create_sheet("테스트5")
ws1["A1"] = "A"
ws2["A1"] = "A"
ws3["A1"] = "A"
ws4["A1"] = "A"
ws5["A1"] = "A"
for i in range(1, 6) :
wx = "ws"+str(i)
wx["B1"] = "B" ##### 여기가 문제 #####
wb.save("테스트.xlsx")
wb.close
ws들을 list에 넣고 list를 for문으로 액세스 해야지 저렇게 변수 이름을 스트링으로 만드는건 안됌
리스트면 lst = [ws1, ws2, ws3, ws4, ws5] 이렇게용?
ㅇㅇ 그렇게 하면 lst[i]["B"] = "B" 이렇게 하면 될지도 모름
lst = [ws1, ws2, ws3, ws4, ws5] for i in lst : i["B1"] = "B" 아 이렇게 해봤는데 되네요. 감사감사!!
ㅇㅇ... i in list 를 쓰면 i 가 리스트 안에 있는 객체 자체가 되는거여서 i 가 ws1...ws5 가 되는거여서 i["B"] = ws1...ws5["B"] 가 되는거... range 계속 썼으면 내가 준 신택스로 했으면 됏음 ㅇㅇ
lst = [ws1, ws2, ws3, ws4, ws5] for i in range(0,4) : lst[i]["B1"] = "B" 말씀하신건 요건가요? 요것도 잘되네요. 감사감사!!
ㅇㅅㅇ 공부해
ㄳㄳ 혹시 늦은시간에 죄송한데 리스트 자체는 for문으로 늘릴수는 없을까요? 수기로 ws1, ws2, ws3 ... 타이핑 할 필요 없이.. 아래로 넣으니 초기와 동일한 방법이라 동일하게 오류가 나는데.. for n in range (1,5) : lst = [ws+n]
아 append 사용하면 될라나
그건 구글신에게 how to initiate a list using for loop 아니면 initiate using list literal 치면댐. 약간 lst = [] for i in range (0, 4) : lst.append(wb.create_sheet) 이런식일거임 폰으로 써서 개대충 씀
큰 도움이 됐네용. 늦은밤에 ㄳㄳ
근데 파이썬 공부좀 하자... 저게 뭐임 ㄹㅇ... 코딩 한달배운 머학생도 저렇겐 안씀
ㅋㅋ 일은 다른 일 하는데 사무 자동화 좀 해볼라고 유튜브로 공부중인데 일주일정도 됐네용. ㄳㄳ함
뭔말인지 알겠음? 니가 포문안에서 손코딩으로 만든 ws1 ws2... 얘네들은 "ws1" 스트링이라고. 그래서 wx["B1"] 이 신택스가 말이 안된다고.