-
[Pandas] 파이썬 Pandas로 엑셀 파일 읽기와 쓰기Python/Pandas, Numpy 2023. 5. 4. 12:04반응형
Pandas로 엑셀 파일 읽기와 쓰기
판다스(Pandas)는 파이썬(Python)에서 표 형식의 데이터를 다룰 수 있는 강력한 패키지입니다. 그런데, 표 형식의 데이터라고 하면 우리는 흔히 사용하는 엑셀 스프레드시트 파일을 떠올리기 마련이지요. 과연 판다스로 이 파일들을 읽고 쓸 수 있을까요? 결론부터 말하자면 가능합니다.
판다스로 파일 불러오기
표 형식의 데이터는 확장자가 다르더라도 컴퓨터가 거의 비슷한 형식으로 파일을 편집합니다. 그래서, 별도의 프로그램으로 작성한 스프레드시트 파일이라고 해도 판다스에서는 파일 형식에 맞게 코드를 적어주면 손쉽게 불러와 이용할 수 있습니다. 만약에, 같은 폴더에 iris.csv 파일이 있고, 이걸 불러오려면 아래와 같이 쓰면 됩니다.
# 패키지 불러오기 import pandas as pd df = pd.read_csv('iris.csv') df.head()
sepal length (cm) sepal width (cm) petal length (cm) petal width (cm) target 0 5.1 3.5 1.4 0.2 0 1 4.9 3.0 1.4 0.2 0 2 4.7 3.2 1.3 0.2 0 3 4.6 3.1 1.5 0.2 0 4 5.0 3.6 1.4 0.2 0 참고로, 사용하려는 파일이 어떤 웹사이트에 업로드된 상태라면, 그 파일의 주소를 입력할 수도 있습니다. 예를 들어, 제 깃허브(Github)에 업로드한 iris.csv 파일을 이용하려면
https://raw.githubusercontent.com/boringariel/python/tmp/pandas_numpy/data/iris.csv
주소를 복사해서 위 코드의iris.csv
대신 적어넣으면 됩니다.df = pd.read_csv('https://raw.githubusercontent.com/boringariel/python/tmp/pandas_numpy/data/iris.csv') df.head()
sepal length (cm) sepal width (cm) petal length (cm) petal width (cm) target 0 5.1 3.5 1.4 0.2 0 1 4.9 3.0 1.4 0.2 0 2 4.7 3.2 1.3 0.2 0 3 4.6 3.1 1.5 0.2 0 4 5.0 3.6 1.4 0.2 0 이렇게 불러온 csv 파일은, 임의의 변수에 저장해서 데이터를 이용하거나 편집할 수 있습니다. 예제에서는 이렇게 불러온 데이터를
df
라고 하는 변수에 저장했지만, 알아보기 편한 다른 이름을 지어서 저장하는 것을 권장드립니다.다양한 파일 불러오기 및 옵션 설정
위와 같이 파일을 불러오는 코드는 csv 파일에 한해서만 동작하며, 만약 다른 파일이라면 아래와 같이 불러올 수 있습니다. 더욱 자세한 내용은 판다스 공식 홈페이지를 참조해 주시기 바랍니다.
- 만약 tsv 파일이라면 →
pd.read_csv('file.tsv', sep='\t')
- 만약 xlsx 파일이라면 →
pd.read_excel('file.xlsx')
- 만약 위 예제의 iris.csv 파일을 클립보드에 복사(Ctrl+C)해둔 상태라면 →
pd.read_clipboard(sep=',')
만약
pd.read_csv()
등의 코드로 파일을 불러오려 한다면, 표의 형태에 따라 다양한 옵션을 부여할 수 있습니다. 자세한 내용은 아래 내용 또는 판다스 공식 홈페이지를 참조해 주시면 됩니다.header=0
: 0번째 행(row) 내용을 헤더(header, =열 이름(column name) )으로 설정한다.index_col='열 이름'
: 특정 열(column)을 인덱스(index, 행 이름(row name) )로 설정한다.seq='\s+'
: 표의 구분자를\s+
(길이가 일정하지 않은 공백)으로 설정한다.skiprows=[1, 3]
: 1, 3행을 빼고 읽어들인다.na_values=['x']
:x
값을NaN
으로 치환한다.
판다스로 편집한 파일 내보내기
파일 불러오기와 비슷한 방법으로, 판다스로 편집한 파일을 다양한 형식으로 내보낼 수 있습니다. 파일을 내보낼 때는 읽기와 거의 같은 코드를 사용하는데, 이 때,
df.to_csv(파일이름)
혹은df.to_excel('파일이름.xlsx')
등의 코드를 이용합니다. 만약, 아까 불러온 iris.csv 파일을 엑셀 파일(xlsx)로 내보내고 싶다면, 아래 코드를 이용하면 됩니다.df.to_excel('iris.xlsx')
이 코드도 불러오기와 마찬가지로 다양한 옵션을 적용할 수 있습니다. 자세한 내용은 아래 정리 또는 판다스 공식 홈페이지를 참고해 보시기 바랍니다.
seq='/'
:/
기호가 데이터를 구분하는 구분자로 설정된다.na_rep='x'
:NaN
값이x
로 치환되어 저장된다.index=False
: 인덱스를 제외하고 저장한다. 기본값은 Trueheader=False
: 헤더를 제외하고 저장한다. 기본값은 True
참고로, 판다스는 파일을 불러올 때 별도의 인덱스 정보가 없으면 새로 만드는 특징이 있습니다. 그래서, 파일을 내보내기할 때는 불필요한 인덱스가 저장되지는 않았는지 확인해 주시는게 좋습니다.
반응형'Python > Pandas, Numpy' 카테고리의 다른 글
[ydata-profiling] 파이썬에서 ydata-profiling으로 간편하게 판다스 데이터 분석과 시각화 (0) 2023.05.11 [Pandas] 판다스 마스킹과 쿼리 함수 이용하기 (1) 2023.04.25 [Pandas, NumPy] 일괄 계산을 위한 판다스, 넘파이 브로드캐스팅 알아보기 (0) 2023.04.24 - 만약 tsv 파일이라면 →