파이썬 데이터 분석
쥬피터 노트북, 엑셀 읽기, 오류
codingmonsters
2021. 4. 27. 02:33
아나콘다를 설치 -> 쥬피터 노트북 -> 파이썬 엑셀 불러오기
이 과정을 하던 중 뜻하지 않은 오류가 생겼다.
보통 pandas를 사용하여 엑셀파일을 불러오려 할 것이다. 하지만 다음과 같은 오류를 만났다.
import pandas as pd
import numpy as np
sample_1 = pd.read_excel('C:/Users/namju/Desktop/파이썬 데이터 분석/datasalon/02_개정판/2_Data_Analysis_Basic/files/sample_1.xlsx',
header = 1,
skipfooter = 2,
usecols = 'A:C',
)
XLRDError Traceback (most recent call last)
<ipython-input-21-a92a13001bd1> in <module>
2 header = 1,
3 skipfooter = 2,
----> 4 usecols = 'A:C',
5 )
~\anaconda3\envs\rstudio-\lib\site-packages\pandas\util\_decorators.py in wrapper(*args, **kwargs)
294 )
295 warnings.warn(msg, FutureWarning, stacklevel=stacklevel)
--> 296 return func(*args, **kwargs)
297
298 return wrapper
~\anaconda3\envs\rstudio-\lib\site-packages\pandas\io\excel\_base.py in read_excel(io, sheet_name, header, names, index_col, usecols, squeeze, dtype, engine, converters, true_values, false_values, skiprows, nrows, na_values, keep_default_na, na_filter, verbose, parse_dates, date_parser, thousands, comment, skipfooter, convert_float, mangle_dupe_cols)
302
303 if not isinstance(io, ExcelFile):
--> 304 io = ExcelFile(io, engine=engine)
305 elif engine and engine != io.engine:
306 raise ValueError(
~\anaconda3\envs\rstudio-\lib\site-packages\pandas\io\excel\_base.py in __init__(self, path_or_buffer, engine)
865 self._io = stringify_path(path_or_buffer)
866
--> 867 self._reader = self._engines[engine](self._io)
868
869 def __fspath__(self):
~\anaconda3\envs\rstudio-\lib\site-packages\pandas\io\excel\_xlrd.py in __init__(self, filepath_or_buffer)
20 err_msg = "Install xlrd >= 1.0.0 for Excel support"
21 import_optional_dependency("xlrd", extra=err_msg)
---> 22 super().__init__(filepath_or_buffer)
23
24 @property
~\anaconda3\envs\rstudio-\lib\site-packages\pandas\io\excel\_base.py in __init__(self, filepath_or_buffer)
351 self.book = self.load_workbook(filepath_or_buffer)
352 elif isinstance(filepath_or_buffer, str):
--> 353 self.book = self.load_workbook(filepath_or_buffer)
354 elif isinstance(filepath_or_buffer, bytes):
355 self.book = self.load_workbook(BytesIO(filepath_or_buffer))
~\anaconda3\envs\rstudio-\lib\site-packages\pandas\io\excel\_xlrd.py in load_workbook(self, filepath_or_buffer)
35 return open_workbook(file_contents=data)
36 else:
---> 37 return open_workbook(filepath_or_buffer)
38
39 @property
~\anaconda3\envs\rstudio-\lib\site-packages\xlrd\__init__.py in open_workbook(filename, logfile, verbosity, use_mmap, file_contents, encoding_override, formatting_info, on_demand, ragged_rows, ignore_workbook_corruption)
168 # files that xlrd can parse don't start with the expected signature.
169 if file_format and file_format != 'xls':
--> 170 raise XLRDError(FILE_FORMAT_DESCRIPTIONS[file_format]+'; not supported')
171
172 bk = open_workbook_xls(
XLRDError: Excel xlsx file; not supported
오류 내용을 간단히 하면 pandas에서 엑셀을 읽을 수 있는 라이브러리가 없다는 것이다.
그렇기 때문에 따로 설치를 해줘야한다.
바로 "openpyxl"이다. anaconda prompt창을 열어 "conda install openpyxl"을 입력하여 설치하자.
sample_1 = pd.read_excel('C:/Users/namju/Desktop/파이썬 데이터 분석/datasalon/02_개정판/2_Data_Analysis_Basic/files/sample_1.xlsx',
header = 1,
skipfooter = 2,
usecols = 'A:C',
engine = 'openpyxl')
sample_1.head(3)
국적코드 성별 입국객수
0 A01 남성 106320
1 A01 여성 191436
2 A31 남성 319
문제 없이 나오는 것을 확인할 수 있다.