Python

to_csv, to_excel 파라미터, 판다스 엑셀 저장하기

summerorange 2022. 4. 22. 11:10
반응형

pandas to_csv 파라미터 값. sep 이 기본적으로 ',' 로 되어 있다는 것에 주목, 그리고 encoding 은 한글이 있다면 깨지지 않게 지정해주기. sep값은 보통 tab으로도 많이 하고 ,로도 많이 작성한다. 만약 숫자 데이터가 있다면 1,000 표시처럼 중간에 ,가 들어가 있는지 확인하고 저장해주어야 한다. 아니면 다시 불러올 때 , 기준으로 데이터 파싱할 때 데이터를 잘못 파싱할 수 있다.

def to_csv(path_or_buf: (FilePathOrBuffer[AnyStr] | None)=None, 
sep: str=',', na_rep: str='', 
float_format: (str | None)=None, 
columns: (Sequence[Hashable] | None)=None, 
header: (bool_t | list[str])=True, 
index: bool_t=True, 
index_label: (IndexLabel | None)=None, 
mode: str='w', 
encoding: (str | None)=None, 
compression: CompressionOptions='infer', 
quoting: (int | None)=None, quotechar: str='"', 
line_terminator: (str | None)=None, 
chunksize: (int | None)=None, 
date_format: (str | None)=None, doublequote: bool_t=True, 
escapechar: (str | None)=None, decimal: str='.', 
errors: str='strict', storage_options: StorageOptions=None) ->(str | None)

다음 예시는 저장할 위치를 구체적으로 써주고 tab으로 나눠서 저장해주도록 했다.

anotherFrame.to_csv("/content/drive/MyDrive/example1", sep='\t')

다음과 같이 저장된다. 다른 파라미터값 집어놓지 않고 디폴트로 저장하면 현재 디렉토리에 저장되고 다음과 같이 ,로 구분된 형태로 저장된다.

anotherFrame.to_csv("example1")

엑셀로 저장할 때의 파라미터값. 여기에도 경로를 구체적으로 설정해주지 않으면 현재 디렉토리에 저장된다는 점. sheet_name을 따로 설정할 수 있다는 부분, 그리고 index과 header는 true로 되어 있다.

def to_excel(excel_writer, 
sheet_name: str='Sheet1', na_rep: str='', 
float_format: (str | None)=None, columns=None, 
header=True, index=True, index_label=None, 
startrow=0, startcol=0, engine=None, merge_cells=True,
encoding=None, inf_rep='inf', 
verbose=True, freeze_panes=None, storage_options: StorageOptions=None) ->Non
anotherFrame.to_excel("output.xlsx", sheet_name='Sheet_name_1')

다음과 같이 저장됨

index와 header를 false로 하면 어떻게 저장이 되는지 제가 대신 실험해보겠습니다.

anotherFrame.to_excel("output1.xlsx", sheet_name='Sheet_name_1', index=False, header=False)

index였던 시간 데이터와 header였던 price1, price2가 사라지고 값만 저장이 된다. 

엑셀과 csv로 판다스 데이터 저장하는 방법 끝.

 

반응형