[Pandas] 데이터 불러오기

DU·2024년 9월 26일
1

Python

목록 보기
7/8
post-thumbnail

Pandas에서 데이터를 불러오는 방법에 대해 설명드리겠습니다. Pandas는 CSV, Excel, SQL, JSON 등 다양한 형식의 데이터를 불러올 수 있는 강력한 기능을 제공합니다. 아래는 데이터 파일을 불러오는 여러 가지 방법과 그 사용 예시입니다.

1. CSV 파일 불러오기

가장 일반적으로 사용하는 데이터 형식인 CSV 파일은 read_csv() 함수로 불러올 수 있습니다.

import pandas as pd

# CSV 파일 불러오기
df = pd.read_csv('data.csv')

# 데이터 출력
print(df.head())  # 처음 5개의 행 출력

주요 옵션

  • index_col: 특정 열을 인덱스로 설정할 수 있습니다.
  • usecols: 특정 열만 선택하여 불러올 수 있습니다.
  • encoding: CSV 파일의 인코딩을 지정할 수 있습니다.
# 인덱스 열 설정 및 특정 열만 불러오기
df = pd.read_csv('data.csv', index_col='ID', usecols=['ID', 'Name', 'Age'], encoding='utf-8')
print(df)

2. Excel 파일 불러오기

Excel 파일은 read_excel() 함수를 사용하여 불러올 수 있습니다.

# Excel 파일 불러오기
df = pd.read_excel('data.xlsx')

# 데이터 출력
print(df.head())

여러 시트 불러오기

Excel 파일에서 특정 시트를 불러오거나, 여러 시트를 불러와 딕셔너리로 저장할 수 있습니다.

# 특정 시트 불러오기
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')

# 여러 시트 불러오기
dfs = pd.read_excel('data.xlsx', sheet_name=None)  # 딕셔너리로 모든 시트를 불러옴
print(dfs['Sheet1'].head())

3. SQL 데이터베이스에서 불러오기

Pandas는 SQL 데이터베이스에서 데이터를 쉽게 불러올 수 있습니다. 이를 위해 read_sql() 함수를 사용하며, SQLAlchemy 등의 데이터베이스 커넥터가 필요합니다.

from sqlalchemy import create_engine

# SQLite 엔진 생성
engine = create_engine('sqlite:///data.db')

# SQL 쿼리를 통해 데이터 불러오기
df = pd.read_sql('SELECT * FROM people', engine)

# 데이터 출력
print(df.head())

4. JSON 파일 불러오기

JSON 형식의 데이터를 불러올 때는 read_json() 함수를 사용합니다.

# JSON 파일 불러오기
df = pd.read_json('data.json')

# 데이터 출력
print(df.head())

다양한 JSON 형식 불러오기

orient 옵션을 사용하여 JSON 데이터의 구조를 지정할 수 있습니다.

# 'records' 구조의 JSON 불러오기
df = pd.read_json('data_records.json', orient='records')
print(df)

5. HTML 파일에서 테이블 불러오기

HTML 파일에서 테이블을 불러올 때는 read_html() 함수를 사용합니다. 이는 웹 페이지에 있는 테이블 데이터를 가져오는 데 유용합니다.

# HTML 파일에서 테이블 불러오기
dfs = pd.read_html('https://example.com/data.html')

# 첫 번째 테이블 출력
print(dfs[0].head())

6. 압축된 파일 불러오기

Pandas는 압축된 파일에서 데이터를 불러오는 것도 지원합니다. CSV 파일을 gzip, zip, bz2, xz 형식으로 압축한 후 read_csv() 함수에서 compression 옵션을 사용하여 불러올 수 있습니다.

# Gzip 압축된 CSV 파일 불러오기
df = pd.read_csv('data.csv.gz', compression='gzip')
print(df.head())

7. 클립보드에서 데이터 불러오기

데이터를 클립보드에서 불러올 수도 있습니다. 예를 들어, 엑셀이나 구글 스프레드시트에서 데이터를 복사한 후 read_clipboard()를 사용하면 쉽게 DataFrame으로 변환됩니다.

# 클립보드에서 데이터 불러오기
df = pd.read_clipboard()

# 데이터 출력
print(df.head())

8. 특정 파일 형식 감지 및 불러오기

read_*() 함수 외에도 파일의 형식을 자동으로 감지하여 불러오는 경우도 있습니다. 예를 들어, .csv, .xlsx와 같은 파일 확장자를 기반으로 파일을 불러오는 도구도 사용할 수 있습니다.

0개의 댓글