MLOps 부트캠프 by 한경+토스뱅크/Python

DataFrame - csv, 엑셀(xls) 파일을 DataFrame으로 불러오기 / 내보내기

나니니 2024. 8. 2. 12:19

엑셀(xls) 파일을 DataFrame으로 불러오기

주로 csv 파일을 사용하지만

xls도 사용하는 경우가 있으므로 정리하기로 함

 

df = pd.read_excel('data/df.xlsx', sheet_name=1, header=3, usecols='B:H') 

# df 이름으로 된 xlsx 파일을 불러와서 df라는 이름으로 저장함

# sheet_name=1: xls파일에서 Sheet2의 파일을 불러와야 하므로 '1'을 넣어줌(0부터 시작하므로)

# xls 파일의 Sheet2에선 header가 네 번째 줄부터 시작하므로, header=3 을 넣어줌

# usecols라는 파라미터를 이용해 몇 번째 열부터 시작하는지 알려줌

xls
usecols 지정하지 않을 경우

CSV 파일로 내보내기

pandas의 to_csv() 함수를 사용하면 DataFrame을 CSV 파일로 내보낼 수 있다.

예를 들어 아래와 같이 생긴 loan_df라는 DataFrame을 내보낼 경우

# loan_df 뒤에 .to_csv()라고 쓰고, 함수 안에는 파일이 경로와 이름을 넣으면 된다.
# 이때, 불필요한 컬럼이 포함되지 않도록 index=False 파라미터를 추가한다. 
loan_df1.to_csv('data/loan2.csv', index=False)


# 잘 내보내졌는지 csv 불러오기
loan_df1 = pd.read_csv('data/loan1.csv')

엑셀 파일로 내보내기

DataFrame을 엑셀 파일로 내보내려면 to_csv() 대신 to_excel() 함수를 사용하면 된다. 

loan_df1.to_excel('data/loan1.xlsx')

위 코드 입력 시, 아래처럼 저장된다. 

그러나 아래 파라미터를 통해 원하는 대로 데이터를 내보낼 수 있다.

# 	sheet_name : 데이터가 저장된 시트 이름
# 	startrow : 데이터가 몇 번째 로우부터 기록될 건지(*기본값 0)
#	startcol : 몇 번째 컬럼부터 기록될 건지(*기본값 0)
loan_df1.to_excel('data/loan1.xlsx', sheet_name='loan', startrow=1, startcol=1)