pandas.read_excel(io, sheet_name=0, header=0, names=None, index_col=None,
usecols=None, squeeze=None, dtype=None, engine=None, converters=None, true_values=None,
false_values=None, skiprows=None, nrows=None, na_values=None, keep_default_na=True,
na_filter=True, verbose=False, parse_dates=False, date_parser=None, thousands=None,
decimal='.', comment=None, skipfooter=0, convert_float=None, mangle_dupe_cols=True,
storage_options=None)
액셀 파이을 읽어 판다스 데이터프레임으로 변환시킵니다.
xls, xlsx, xlsb, odf, ods, odt 파일 확장자를 지원하며, 파일의 위치는 로컬 파일시스템이나 URL일수도 있습니다. 시트 하나 혹은 시트들의 리스트를 읽을 수 있는 옵션을 제공합니다.
데이터프레임이나 데이터프레임의 딕셔너리를 반환합니다.
파라미터
io: 문자열, 바이트, 엑셀 파일, xlrd.Book, 경로 객체, 파일 같은 객체
유효한 어떠한 문자열 경로도 들어갈 수 있습니다. 또한 http, ftp, s3, file과 같은 유효한 URL 구성이 될 수도 있습니다. file://localhost/path/to/table.xlsx는 한 예시입니다.
경로 객체를 넘기려면 판다스는 os.PathLike에 해당하는 규칙을 적용합니다.
read() 매소드를 사용해 파일같은 객체로 해당 객체를 참조할 수 있습니다. 예를 들어 파이썬 기본 함수인 open 함수 또는 StringIO를 사용해 파일을 다룰 수 있습니다.
sheet_name: 문자열, 정수, 리스트, None (기본값: 0)
문자열들은 시트 이름을 지정하기 위해 사용될 수 있습니다. 정수는 첫 번째 시트를 0번으로 간주합니다. 문자열이나 정수의 리스트는 여러 시트를 요청할 때 사용됩니다. 모든 워크시트를 가져오려면 None을 명시하세요.
header: 정수, 정수의 리스트 (기본값: 0)
행(인덱스 0번)을 사용해 파싱된 데이터프레임의 열 라벨을 설정할 수 있습니다. 정수의 리스트가 전달되면, 해당하는 행 위치들은 합쳐져서 다중인덱스가 될 것입니다. 헤더가 없다면 None을 사용하세요.
names: 배열같은 것 (기본값: None)
열 이름의 리스트를 사용하세요. 파일에 헤더 행이 없다면 명시적으로 header=None을 전달해야 합니다.
index_col: 정수, 정수의 리스트 (기본값: None)
열(인덱스 0번)을 사용해 데이터프레임의 행 라벨을 설정하세요. 해당되는 열이 없다면 None을 전달하세요. 리스트가 전달되면 해당하는 열들은 합쳐져서 다중인덱스가 될 것입니다. usecols로 데이터의 부분집합이 선택된다면, index_col은 그 부분집합에 적용됩니다.
usecols: 정수, 문자열, 리스트같은 것, 콜러블 (기본값: None)
아래의 규칙에 따라 열의 부분집합을 반환합니다.
- None이면 모든 열을 파싱합니다.
- 문자열은 콤마로 구분된 엑셀 열 문자와 범위를 나타냅니다. (예: "A:E" 혹은 "A,C,E:F"). 범위에서는 각 끝 값이 포함됩니다.
- 정수의 리스트는 파싱될 열 번호들의 리스트를 나타냅니다.
- 문자열의 리스트는 파싱될 열 이름들의 리스트를 나타냅니다.
- 콜러블은 각 열 이름들을 검사해 콜러블이 True를 반환하는 경우의 열만 파싱합니다.
squeeze: 불 (기본값: False, 1.4.0 버전부터는 추천되지 않음)
파싱된 데이터가 하나의 열을 가지고 있다면 시리즈 객체를 반환합니다.
dtype: 타입 이름 혹은 열의 딕셔너리 -> 타입 (선택)
데이터나 열의 데이터 종류입니다. {'a': np.float64, 'b': np.int32, 'c': 'Int64'}와 같이 사용합니다. 가능한 na_values를 문자열이나 객체를 함께 사용하면 dtype을 해석하지 않고 그대로 보존합니다. 컨버터가 명시되면 dtype을 바꾸는 대신에 컨버터가 적용될 것입니다.
engine: 문자열 (기본값: None)
io가 버퍼나 경로가 아니면 engine은 io가 무엇인지 알려 주어야 합니다. 제공되는 엔진으로는 xlrd, openpyxl, odf, pyxlsb가 있습니다.
- xlrd는 .xls를 지원합니다.
- openpyxl은 최신 버전의 엑셀 파일 형식을 지원합니다.
- odf은 OpenDocument 파일 형식을 지원합니다(.odf, .ods, .odt)
- pyxlsb는 이진 엑셀 파일을 지원합니다.
converters: 딕셔너리 (기본값: None)
특정한 열에 있는 값들을 바꾸기 위한 함수들의 딕셔너리입니다. 키는 정수형이나 열 이름이 될 수 있습니다. 값은 하나의 입력 매개변수인 엑셀 내용을 갖는 함수입니다. 이 함수는 변형된 형태의 내용을 반환합니다.
ture_values: 리스트 (기본값: None)
True로 여길 값들입니다
false_values: 리스트 (기본값: None)
False로 여길 값들입니다.
skiprows: 리스트같은, 정수나 콜러블 (선택)
인덱스가 0으로 지정된 경우 무시할 줄의 숫자가 되고, 인덱스가 정수형이면 파일의 시작 지점으로부터 무시할 줄의 숫자가 됩니다.
콜러블이면, 콜러블 함수는 행 인덱스를 검사하여 행이 무시된다면 True를, 아닌 경우 False를 반환합니다. 예시로는 lambda x: x in [0, 2]를 들어볼 수 있습니다.
nrows: 정수 (기본값: None)
파일에서 읽을 행들의 숫자입니다.
na_values: 스칼라, 문자열, 리스트 같은, 혹은 딕셔너리 (기본값: None)
NA 혹은 NaN으로 여겨지게 될 문자열입니다. 딕셔너리가 전달되면 특정한 각 열의 NA 값들이 됩니다. 기본적으로 다음 값들은 NaN으로 해석됩니다: '', ‘#N/A’, ‘#N/A N/A’, ‘#NA’, ‘-1.#IND’, ‘-1.#QNAN’, ‘-NaN’, ‘nan’, ‘1.#IND’, ‘1.#QNAN’, ‘<NA>’, ‘N/A’, ‘NA’, ‘NULL’, ‘NaN’, ‘n/a’, ‘nan’, ‘null’.
keep_default_na: 불 (기본값: True)
파싱할 때 NaN값의 존재와 상관 없이, 그리고 na_values가 전달되었는지에 따라 다음과 같이 작동합니다.
- keep_default_na가 True이고 na_values가 명시되었으면, na_values에는 NaN 값이 추가되어 파싱에 사용됩니다.
- keep_default_na가 True이고 na_values가 명시되지 않았으면, NaN 값이 파싱에 사용됩니다.
- keep_default_na가 False이고 na_values가 명시되었다면, NaN 값으로 명시된 na_values가 파싱에 사용됩니다.
- keep_default_na가 False이고 na_values가 명시되지 않았다면, 문자열은 NaN으로 파싱되지 않습니다.
na_filter: 불 (기본값: True)
비어있는 값 마커(비어있는 문자열이나 na_values의 값)를 찾아냅니다. NA가 하나도 없는 데이터라면, na_filter=False로 설정하면 큰 파일을 읽어올 때 성능을 개선시킬 수 있습니다.
verbose: 불 (기본값: False)
숫자가 아닌 열에서 NA값의 갯수를 나타냅니다.
parse_dates: 불, 리스트 같은 값, 딕셔너리 (기본값: False)
- True라면 인덱스를 파싱합니다.
- 이름 및 정수의 리스트라면 열을 구분된 날짜 열로 파싱을 시도합니다.
- 리스트의 리스트라면 열들을 합치고 하나의 날짜 열로 파싱합니다.
- 딕셔너리라면 값의 숫자를 날짜로 파싱하고 키를 불러옵니다.
열이나 인덱스가 datetimes의 배열이 될 수 없다면 열이나 인덱스는 바뀌지 않은 채 객체 데이터 타입으로 반환됩니다. 만약 몇몇 셀을 날짜로 파싱하기를 원하지 않는다면 엑셀에서 종류를 텍스트로 바꿔주세요. 비표준 datetime을 파싱하려면 pd.to_datetime을 pd.read_excel다음에 사용하세요.
date_parser: 함수 (선택)
연속된 문자열 열을 datetime 인스턴스의 배열로 변환하는데 사용할 함수입니다. 기본적으로 dateutil.parser.parser을 사용해 변환합니다. 만일 다음으로 넘어갈 때 예외가 발생한다면 판다스는 date.parser을 세 가지 다른 방법으로 불러오려 시도합니다.
- (parse_date으로 정의된) 한개 이상의 배열을 매개변수로 넘깁니다.
- parse_dates에서 정의된 열에서 나온 문자열 값들을 (행별로) 연결시켜 하나의 배열을 만들어 넘깁니다.
- (parse_dates에서 정의된 열에 해당하는) 한 개 이상의 문자열을 사용하여 매개변수로 각 행마다 date_parser을 한 번씩 호출합니다.
thousadns: 문자열 (기본값: None)
천 단위의 문자열 열들을 숫자로 파싱하기 위한 구분자입니다. 이 파라미터는 오직 엑셀에서 텍스트로 저장된 열들만 필요로 하고, 어떠한 숫자값의 열들도 표시 형식에 상관없이 자동으로 파싱된다는 점에 주의해주세요.
decimal: 문자열 (기본값: .)
문자열 열을 숫자로 파싱할 때 소숫점 자리를 구분하기 위한 문자입니다. 이 파라미터는 오직 엑셀에서 텍스트로 저장된 열들만 필요로 하고, 어떠한 숫자값의 열들도 표시 형식에 상관없이 자동으로 파싱된다는 점에 주의해주세요.
comment: 문자열 (기본값: None)
줄의 남는 부분에 주석을 작성합니다. 매개변수로 전달된 글자들은 입력 파일에서 주석을 나타냅니다. 주석 문자열과 그 줄의 마지막 글자 사이의 모든 데이터는 무시됩니다.
skipfooter: 정수 (기본값: 0)
파일의 가장 마지막으로부터 무시할 줄의 개수입니다.
convert_float: 불 (기본값: True, 1.3.0 버전부터 추천되지 않음)
실수를 정수로 변환합니다. 실패하면 모든 숫자 데이터는 실수로 읽어집니다(엑셀은 모든 숫자들을 내부에서 실수로 저장합니다)
mangle_dupe_cols: 불 (기본값:True)
반복되는 열은 X, X.1, ... X.N으로 명시됩니다. False 시 열에 중복된 이름이 있을 경우 데이터가 겹쳐질 수 있습니다.
storage_options: 딕셔너리 (선택)
URL이 fsspec에 의해 파싱될 때 추가 옵션을 주어서 특별한 객체, 예를 들어 host, port, username, password를 다룰 수 있습니다. 로컬 경로나 파일과 같은 버퍼가 매개변수로 넘어가면 에러가 호출됩니다. 사용 가능한 키와 값 세트를 보려면 fsspec과 백엔드 저장소 시행 문서를 참고하세요.
'Pandas' 카테고리의 다른 글
pandas 1.4.3 - pandas.DataFrame.to_clipboard (0) | 2022.08.29 |
---|---|
pandas 1.4.3 - pandas.read_clipboard (0) | 2022.08.29 |
pandas 1.4.3 - pandas.read_fwf (0) | 2022.08.29 |
pandas 1.4.3 - pandas.DataFrame.to_csv (0) | 2022.08.29 |
pandas 1.4.3 - pandas.read_csv (0) | 2022.08.29 |