CSV 파일 만들기, 불러오기
Pandas로 만든 DataFrame을 CSV 파일로 변환해본다.
pd.DataFrame( { 행:열 } ) : 데이터프레임을 만든다. (예시는 딕셔너리 형태의 데이터 프레임)
#dataframe#.to_csv ("경로", encoding='utf-8') : 데이터 프레임을 경로에 csv 형태로 저장한다. 한글은 utf-8 형태로 인코딩한다.
import pandas as pd
practice= pd.DataFrame({'날짜':[],'운동':[],'양':[]})
practice.loc[0]=['19-03-01','달리기',1.0]
practice.loc[1]=['19-03-02','걷기',1.0]
practice.loc[2]=['19-03-02','달리기',1.0]
practice.loc[3]=['19-03-02','계단 오르기',1.0]
practice.loc[4]=['19-03-03','걷기',1.5]
practice.loc[5]=['19-03-03','달리기',1.0]
practice.to_csv("D:\\02. CANoe\\CANoe_dbc\\SX2HEV\\새 폴더\\practice.csv",encoding='utf-8')
print(practice)
만들어진 csv 파일을 엑셀로 열면 그림 2와 같이 글씨가 깨져서 보인다.
엑셀은 utf-8을 지원하지 않기 때문에 그렇고, 생성된 csv 파일 자체에 이상은 없다.
텍스트 파일로 열면 다음과 같이 정상적으로 저장되었음을 확인할 수 있다.
pd.read_csv("경로", encoding='utf-8') : csv 파일를 pandas로 읽어온다.
index_col=0 : csv파일로 만들면서 인덱스 값이 csv파일에 데이터로 저장되는데, 그림 4와 같이 Unnamed 컬럼이 새로 생긴 것을 볼 수 있다. 이 불필요한 컬럼을 없애기 위해 "index_col"을 없애준다.
print(pd.read_csv("D:\\02. CANoe\\CANoe_dbc\\SX2HEV\\새 폴더\\practice.csv",index_col=0,encoding='utf-8'))
추가로
#dataframe#.pivot_table (index="컬럼 이름", aggfunc=[np.sum, len]) : 컬럼의 데이터 특성을 나타냄.
aggfunc : default는 평균값이며, sum으로 총합을 나타낼 수도 있고, len 으로 몇번 나오는지도 알 수 있다.
[풀코드]
import pandas as pd
import numpy as np
practice= pd.DataFrame({'날짜':[],'운동':[],'양':[]})
practice.loc[0]=['19-03-01','달리기',1.0]
practice.loc[1]=['19-03-02','걷기',1.0]
practice.loc[2]=['19-03-02','달리기',1.0]
practice.loc[3]=['19-03-02','계단 오르기',1.0]
practice.loc[4]=['19-03-03','걷기',1.5]
practice.loc[5]=['19-03-03','달리기',1.0]
practice.to_csv("D:\\02. CANoe\\CANoe_dbc\\SX2HEV\\새 폴더\\practice.csv",encoding='utf-8')
print(pd.read_csv("D:\\02. CANoe\\CANoe_dbc\\SX2HEV\\새 폴더\\practice.csv",index_col=0,encoding='utf-8'))
print(practice.pivot_table(index="운동", aggfunc=[np.sum, len])) #sum: 총합. len : 며칠을 했는지. 횟수