[Pandas] File Handling
이번 글에서는 pandas 라이브러리의 File Handling에 대해서 다뤄보겠습니다.
파일 불러오기
Excel 파일 불러오기
- 가장 많이 사용하는 방법
- Excel 파일 → 데이터프레임: pandas.read_excel(”파일 경로(이름)”)
import pandas as pd
# read_excel() 함수로 데이터프레임 변환
# 파일 경로(이름)을 string(문자열)로 받아들임
df1 = pd.read_excel('./남북한발전전력량.xlsx') # header=0 (default 옵션)
df2 = pd.read_excel('./남북한발전전력량.xlsx', header=None) # header = None 옵션
# 데이터프레임 출력
print(df1)
print('\n')
print(df2)
csv 파일 불러오기
- 두번째로 많이 사용하는 방법
- CSV 파일 →데이터프레임: pandas.read_csv(”파일 경로(이름)”)
- CSV ?
- 데이터 값을 쉼표(,)로 구분하고 있다는 의미로 CSV(Comma-Separated Values)라고 명명한 텍스트 파일입니다.
- 쉼표(,)로 열을 구분하고 줄바꿈으로 행을 구분하며 read_csv() 함수에 확장자(.csv)를 포함하여 파일경로(파일명)을 입력하면, CSV 파일을 읽어와서 데이터 프레임으로 변환합니다.
- 주의사항
- 파일이 실제로 입력으로 들어오는 파일 경로와 일치해야 합니다.
# 라이브러리 불러오기
import pandas as pd
# 파일 경로(파이썬 파일과 같은 폴더)를 찾고, 변수 file_path에 저장
# .을 보아하니 현재 폴더에 있는 read_csv_sample.csv 파일을 읽어 오는 것을 알 수 있음
file_path = './read_csv_sample.csv'
# read_csv() 함수로 데이터프레임 변환. 변수 df1에 저장
df1 = pd.read_csv(file_path)
print(df1)
print('\n')
- csv 파일의 경우 URL 또는 로컬 파일 경로에서 파일을 불러올 수 있습니다
- 사용법 : pd.read_csv("URL 주소")
파일 저장하기(내보내기)
- CSV 파일로 저장: DataFrame 객체.to_csv(”파일 이름(경로)”)
- Excel 파일로 저장: DataFrame 객체.to_excel(”파일 이름(경로)”)
csv 파일 저장하기
- CSV 파일로 저장: DataFrame 객체.to_csv(”파일 이름(경로)”)
- result(DataFrame 객체).to_csv('result.csv', index=False)
- 아래 코드와 같이 파일 경로를 별도로 지정하지 않으면, CSV 파일은 기본적으로 Python 스크립트와 같은 위치에 저장됩니다. 즉, 해당 코드를 실행한 디렉토리와 같은 디렉토리 위치에 저장되게 됩니다.
- index=False로 옵션을 준 경우 index 번호는 열로 추출하지 않습니다
아래 사진은 다양한 File Format을 R/W 하는 메소드입니다 :)
* 파일을 불러올 때는 “read_파일형식”, 파일을 저장할 때는 “to_파일형식”을 사용하면 됩니다 *
틀린 부분 댓글로 작성해주시면 감사하겠습니다 😊
Reference
- read_csv() : https://pandas.pydata.org/docs/reference/api/pandas.read_csv.html
- 그 외 파일 형식 불러오기 자료 : https://pandas.pydata.org/pandas-docs/stable/user_guide/io.html
IO tools (text, CSV, HDF5, …) — pandas 2.1.4 documentation
The pandas I/O API is a set of top level reader functions accessed like pandas.read_csv() that generally return a pandas object. The corresponding writer functions are object methods that are accessed like DataFrame.to_csv(). Below is a table containing av
pandas.pydata.org
pandas.read_csv — pandas 2.1.4 documentation
Character or regex pattern to treat as the delimiter. If sep=None, the C engine cannot automatically detect the separator, but the Python parsing engine can, meaning the latter will be used and automatically detect the separator from only the first valid r
pandas.pydata.org