본문 바로가기
파이썬. 데이터분석/Pandas

xlsx(excel) 파일로 저장 / 불러오기 : skiprows, nrows, usecols

by 한국수달보호협회장 2022. 7. 4.

 

A1부터 시작되는 게 아닌 특정 셀부터 시작되는 데이터는 어떻게 가져올까?

사실 회사에서 만지는 대부분의 엑셀파일은 A1부터 시작하지않는다. 예전부터 이게 너무 궁금했는데 오늘 stackoverflow 검색하다 찾게됐다.

 

 

이렇게 생긴 xlsx,excel 엑셀파일 어떻게 불러와야될까?

 

그냥 불러오면 이렇게된다

 

df = pd.read_excel('score.xlsx', skiprows=2, usecols = 'B:K')

skiprows로 행을 잘라내고 usecols로 필요한 열을 고르면된다.

팁 : usecols = 'B:AB' 이런식으로해도 딱 필요한 열만큼만 가져온다

++추가) usecols='B,E:Y' 이런식으로 B열 + E~Y열을 고를 수있다

 

range를 이용할 수도 있다.

 

df = pd.read_excel('score.xlsx', skiprows=2, usecols = range(1,11))

위와 마찬가지로 usecols= range(1, 13)해도 된다. 같잖은 경고문이 뜨는데 무시하자

 

 

 

stackoverflow는 정말 대단하다. 영어공부 열심히해야지

 

https://stackoverflow.com/questions/38560748/python-pandas-dataframe-reading-exact-specified-range-in-an-excel-sheet

 

Python Pandas dataframe reading exact specified range in an excel sheet

I have a lot of different table (and other unstructured data in an excel sheet) .. I need to create a dataframe out of range 'A3:D20' from 'Sheet2' of Excel sheet 'data'. All examples that I come ...

stackoverflow.com

 

 

 

옛날에는 parse_cols라는 매개변수를 사용했는데 이젠 usecols를 사용한다

 

 

https://stackoverflow.com/questions/24366449/python-pandas-how-to-skip-columns-when-reading-a-file?newreg=25a4f9adc0b34c0286412c82fbc8e1ba 

 

Python Pandas : How to skip columns when reading a file?

I have table formatted as follow : foo - bar - 10 2e-5 0.0 some information quz - baz - 4 1e-2 1 some other description in here When I open it with pandas doing : a = pd.read_table("file", heade...

stackoverflow.com

 

 

++ 추가 nrows) 

그림처럼 3~5행만 필요하고 A~J열만 필요한경우

 

df = pd.read_excel(fileroute + filename, skiprows=2, nrows=2, index_col=0, usecols = range(0,10))
df

 

column행 제외하고 행 2개보고싶으면 nrows=2

nrows=0하면 연도 column만 남음