Open excel file in Python: XLRDError: Excel xlsx file; not supported
Question:
I want to open an Excel file in Python, using:
import xlrd
loc = (r"C:Usersmy_pathmy_file.xlsx")
wb = xlrd.open_workbook(loc)
sheet = wb.sheet_by_index(0)
sheet.cell_value(0, 0)
and it caught error:
---------------------------------------------------------------------------
XLRDError Traceback (most recent call last)
<ipython-input-70-b399ced4986e> in <module>
4 loc = (r"C:Usersmy_pathmy_file.xlsx")
5
----> 6 wb = xlrd.open_workbook(loc)
7 sheet = wb.sheet_by_index(0)
8 sheet.cell_value(0, 0)
C:Python38libsite-packagesxlrd__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
What is wrong?
Answers:
The lastest version of xlrd is only support .xls file, so you can install the older version
pip uninstall xlrd
pip install xlrd==1.2.0
Or you can use the openpyxl to do it.
pip install openpyxl
If you use it in Pandas:
import pandas as pd
pd.read_excel('file/path/to/excel/spreadsheet.xlsx', engine='openpyxl')
If you don’t specify the engine, it will use whatever default.
I want to open an Excel file in Python, using:
import xlrd
loc = (r"C:Usersmy_pathmy_file.xlsx")
wb = xlrd.open_workbook(loc)
sheet = wb.sheet_by_index(0)
sheet.cell_value(0, 0)
and it caught error:
---------------------------------------------------------------------------
XLRDError Traceback (most recent call last)
<ipython-input-70-b399ced4986e> in <module>
4 loc = (r"C:Usersmy_pathmy_file.xlsx")
5
----> 6 wb = xlrd.open_workbook(loc)
7 sheet = wb.sheet_by_index(0)
8 sheet.cell_value(0, 0)
C:Python38libsite-packagesxlrd__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
What is wrong?
The lastest version of xlrd is only support .xls file, so you can install the older version
pip uninstall xlrd
pip install xlrd==1.2.0
Or you can use the openpyxl to do it.
pip install openpyxl
If you use it in Pandas:
import pandas as pd
pd.read_excel('file/path/to/excel/spreadsheet.xlsx', engine='openpyxl')
If you don’t specify the engine, it will use whatever default.