[python]파이썬: pandas을 이용한 excel.csv에 저장하기, 한글깨짐 해결



pandas를 이용한 excel.csv에 파일 저장하는 방법


excel에 저장할 DataFrame 초기화

import pandas as pd 

rows = ["c1", "c2", "c3", "c4", "c5"
columns = ["A", "B", "C", "D"
data = { 
     columns[0]: [100, 101, 102, 103, 104], 
     columns[2]: [300, 301, 302, 303, 304

frame = pd.DataFrame(data, index=rows, columns=columns)
print(frame)

# 출력
#         A      B     C     D
# c1  100  NaN  300  NaN
# c2  101  NaN  301  NaN
# c3  102  NaN  302  NaN
# c4  103  NaN  303  NaN
# c5  104  NaN  304  NaN

pd.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False)

pandas DataFrame의 3요소로 column, row, data가 있습니다.
index는 행, columns는 열을 의미하며, data는 index, columns에 해당하는 값을 뜻합니다.



pandas DataFrame을 excel에 저장

frame.to_csv("frame_data.csv")

pandas.DataFrame.to_csv(path_or_buf=None)

pandas DataFrame을 csv 파일로 저장합니다.

pandas.DataFrame.to_csv() 매개변수가 궁금하신 분은 아래의 url을 참조하세요.
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.to_csv.html#pandas.DataFrame.to_csv


pandas.DataFrame.to_csv() 한글 깨짐 에러

pandas DataFrame에 한글이 있을 경우 글자가 깨져서 excel.csv에 표시될 수 있습니다.

해결방안

euc-kr
frame.to_csv("frame_data.csv", encoding="euc-kr")

cp949
frame.to_csv("frame_data.csv", encoding="cp949")



전체코드

import pandas as pd

row = ["c1", "c2", "c3", "c4", "c5"]
column = ["A", "B", "C", "D"]
data = {
       "A": [100, 101, 102, 103, 104], 
       "C": [300, 301, 302, 303, 304]
}

frame = pd.DataFrame(data, index=row, columns=column)
frame.to_csv("frame_data.csv")

참고문헌

[1] https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html

댓글

이 블로그의 인기 게시물

[opencv-python] 이미지 크기조절(resize) 하는 법

[python]파이썬: csv reader header skip (첫번째 행 무시하기, 안읽기)

[python] selenium close와 quit 차이점