python
python csv와 excel export 하는방법 및 엑셀 export 속도 빠르게 하는방법
이농이능
2018. 4. 23. 18:32
엑셀과 CSV로 하는방법
먼저, pandas와 XlsxWriter를 설치한다.
pip install pandas
pip install XlsxWriter
* pandas : 데이터 분석, 처리 등을 쉽게 하기 위해 만들어진 파이썬 패키지. 대용량 데이터를 안정적으로 쉽게 처리할 수 있다.
* XlsxWriter : 엑셀파일 처리 및 사용하기 위한 라이브러리
1 2 | from pandas import DataFrame import xlsxwriter | cs |
- 엑셀 export 하는 코드
1 2 3 4 5 6 7 | def export_date_excel(request): header = [ 'A','B','C'] dataF = DataFrame(detail_list,columns= header) filename = '/folder/excel_.xlsx' dataF.to_excel(filename,'Sheet1',index=False, engine='xlsxwriter') .... | cs |
header에는 각 열의 이름을 넣으면된다. 없어도 됨.
DataFrame 객체로 데이터를 만들고 .to_exel() 하면 끝
engine에다 xlsxwriter을 넣지 않아도 pandas에서는 OpenPyXl 을 이용해서 엑셀파일에다 쓸수 있다. 하지만 속도가 너무 느려서 찾아보니,
xlsxwriter 모듈을 사용하여 속도 높이는 방법이 있었다.
- csv export 하는 코드
엑셀 export하는 방법에서, 파일명과 to_csv 로만 바꿔주면 된다.
1 2 3 4 5 6 | def export_date_csv(request): dataF = DataFrame(detail_list,columns= header) filename = '/folder/csv_.csv' dataF.to_csv(filename, encoding="euc-kr", index=False) ... |
그런데 한글이 있으면 깨져서 나올 수 있으니 encoding = "euc-kr" 을 해주도록 하자.
끝
참고 :