Data Analystics/pandas

[Pandas] File Handling

묭동이 2024. 1. 5. 17:46

이번 글에서는 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 주소")

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 하는 메소드입니다 :)

 

Varios File Format R/W Methods

 

* 파일을 불러올 때는 “read_파일형식”, 파일을 저장할 때는 “to_파일형식”을 사용하면 됩니다 *

틀린 부분 댓글로 작성해주시면 감사하겠습니다 😊

 

Reference

 

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