python jupyter labで、csvファイルや、xlslファイルを読み込もうとしたが、読み込まれません
pip install openpyxl Requirement already satisfied: openpyxl in /Users/apple/opt/anaconda3/lib/python3.8/site-packages (3.0.4) Requirement already satisfied: jdcal in /Users/apple/opt/anaconda3/lib/python3.8/site-packages (from openpyxl) (1.4.1) Requirement already satisfied: et-xmlfile in /Users/apple/opt/anaconda3/lib/python3.8/site-packages (from openpyxl) (1.0.1) Note: you may need to restart the kernel to use updated packages. import openpyxl import pandas as pd import glob import_file_path = '/Users/apple/create/description_tokyo_covid19_supportnavi_202007091300.xlsx' #ファイルパスの作成 excel_sheet_name = '発注管理表' #編集したいシート表 export_file_path = '/Users/apple/create' #ファイルのパスを作成 df_order = pd.read_excel(import_file_path, sheet_name = excel_sheet_name)
下記がエラーコードです。他にも、csvファイルでも試したのですが同じエラー文でした。
--------------------------------------------------------------------------- XLRDError Traceback (most recent call last) <ipython-input-32-f1ebf0fd0c35> in <module> ----> 1 df_order = pd.read_excel(import_file_path, sheet_name = excel_sheet_name) ~/opt/anaconda3/lib/python3.8/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, verbose, parse_dates, date_parser, thousands, comment, skipfooter, convert_float, mangle_dupe_cols, **kwds) 302 303 if not isinstance(io, ExcelFile): --> 304 io = ExcelFile(io, engine=engine) 305 elif engine and engine != io.engine: 306 raise ValueError( ~/opt/anaconda3/lib/python3.8/site-packages/pandas/io/excel/_base.py in __init__(self, io, engine) 822 self._io = stringify_path(io) 823 --> 824 self._reader = self._engines[engine](self._io) 825 826 def __fspath__(self): ~/opt/anaconda3/lib/python3.8/site-packages/pandas/io/excel/_xlrd.py in __init__(self, filepath_or_buffer) 19 err_msg = "Install xlrd >= 1.0.0 for Excel support" 20 import_optional_dependency("xlrd", extra=err_msg) ---> 21 super().__init__(filepath_or_buffer) 22 23 @property ~/opt/anaconda3/lib/python3.8/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)) ~/opt/anaconda3/lib/python3.8/site-packages/pandas/io/excel/_xlrd.py in load_workbook(self, filepath_or_buffer) 34 return open_workbook(file_contents=data) 35 else: ---> 36 return open_workbook(filepath_or_buffer) 37 38 @property ~/opt/anaconda3/lib/python3.8/site-packages/xlrd/__init__.py in open_workbook(filename, logfile, verbosity, use_mmap, file_contents, encoding_override, formatting_info, on_demand, ragged_rows) 146 147 from . import book --> 148 bk = book.open_workbook_xls( 149 filename=filename, 150 logfile=logfile, ~/opt/anaconda3/lib/python3.8/site-packages/xlrd/book.py in open_workbook_xls(filename, logfile, verbosity, use_mmap, file_contents, encoding_override, formatting_info, on_demand, ragged_rows) 90 t1 = perf_counter() 91 bk.load_time_stage_1 = t1 - t0 ---> 92 biff_version = bk.getbof(XL_WORKBOOK_GLOBALS) 93 if not biff_version: 94 raise XLRDError("Can't determine file's BIFF version") ~/opt/anaconda3/lib/python3.8/site-packages/xlrd/book.py in getbof(self, rqd_stream) 1276 bof_error('Expected BOF record; met end of file') 1277 if opcode not in bofcodes: -> 1278 bof_error('Expected BOF record; found %r' % self.mem[savpos:savpos+8]) 1279 length = self.get2bytes() 1280 if length == MY_EOF: ~/opt/anaconda3/lib/python3.8/site-packages/xlrd/book.py in bof_error(msg) 1270 1271 def bof_error(msg): -> 1272 raise XLRDError('Unsupported format, or corrupt file: ' + msg) 1273 savpos = self._position 1274 opcode = self.get2bytes() XLRDError: Unsupported format, or corrupt file: Expected BOF record; found b'1,\x93\x8c\x8b\x9e\x93s'
どなたか、このエラー文についてご教授いただきたいです。
> Note: you may need to restart the kernel to use updated packages.
上記メッセージには従いましたか?
> Note: you may need to restart the kernel to use updated packages.
上記メッセージには従いましたか?
いや、したがっていませんでした。
リスタートをや、更新を行うのは、どうすればできますか?
一回、jupyter labをターミナルから終了して、もう一度ターミナルから起動してみたんですんですど、同じでした。
jupyter labの最初の文の
pipコマンドの前に(!)をつけていませんでした。
この(!)は、どういう意味なのでしょうか?
! pip install openpyxl
上記のようなコマンドでしょうか?
自分の場合は、この!が抜けていました。
Excelフアイルがパスワードで保護されていませんか?
シートの保護含めて確認してください。
わかりました!
excelで見れればいいんですよね?
パスワード入力なしでみれます!
XLRDError: Unsupported format, or corrupt file: Expected BOF record; found b'1,\x93\x8c\x8b\x9e\x93s'
が最後のコードで、この文が問題だと思うんですよね、、
ライブラリ、変数は問題なく読み込まれていて、ファイルがちゃんと読み込まれていない感じだと思うんですけど、、
どうですかね?
> パスワード入力なしでみれます!
そうですか。。
ではシート名を指定しない場合や他のエクセルファイルでも同様のエラーが発生するのでしょうか?
他のエクセルファイルを試したのですが、エラーは改善されませんでした!
あとは、xlrdのバージョンが古い場合同様のエラーが出るようです。xlrdのバージョンは何でしょうか?古ければバージョンアップしてみてください。
わかりました。xlrdとは、pythonのライブラリなんでしょうか?
そうです。pandasがexcelファイルを処理するときに使われています。
そうなんですね!わかりました。バージョンを確認して挙げてみます。
あなたの回答
tips
プレビュー