Tonic 's lesson learned


파이썬에서 openpyxl을 이용해 엑셀 save 시 에러나는 이유와 해결방법

문제

openpyxlsave 호출 시 {0} is not a valid column name과 같은 에러와 함께 저장이 안되는 경우가 발생

원인

save를 호출하면 파일이 닫히기 때문에, 변수로 load_workbook로 받은 파일의 레퍼런스를 가지고 있더라도 save를 다시 호출하면 에러가 발생한다.

해결방법

이미 save를 호출했는데 workbook 레퍼런스 변수를 통해 다시 save를 호출하지 않도록 한다. save를 마지막에 한번만 해주거나, 꼭 두 번 save를 호출해줘야 한다면 load_workbook으로 파일을 열고 레퍼런스를 다시 얻도록 한다.