我需要将一些xls文件读入Python。示例数据文件可以通过链接找到:data.file 。我尝试过:
import pandas as pd
pd.read_excel('data.xls',sheet=1)
但它给出了错误消息:
ERROR *** codepage 21010 -> encoding 'unknown_codepage_21010' -> LookupError: unknown encoding: unknown_codepage_21010 Traceback (most recent call last):
File "", line 1, in pd.read_excel('data.xls',sheet=1)
File "C:\Anaconda3\lib\site-packages\pandas\io\excel.py", line 113, in read_excel return ExcelFile(io, engine=engine).parse(sheetname=sheetname, **kwds)
File "C:\Anaconda3\lib\site-packages\pandas\io\excel.py", line 150, in init self.book = xlrd.open_workbook(io)
File "C:\Anaconda3\lib\site-packages\xlrd__init__.py", line 435, in open_workbook ragged_rows=ragged_rows,
File "C:\Anaconda3\lib\site-packages\xlrd\book.py", line 116, in open_workbook_xls bk.parse_globals()
File "C:\Anaconda3\lib\site-packages\xlrd\book.py", line 1170, in parse_globals self.handle_codepage(data)
File "C:\Anaconda3\lib\site-packages\xlrd\book.py", line 794, in handle_codepage self.derive_encoding()
File "C:\Anaconda3\lib\site-packages\xlrd\book.py", line 775, in derive_encoding _unused = unicode(b'trial', self.encoding)
File "C:\Anaconda3\lib\site-packages\xlrd\timemachine.py", line 30, in unicode = lambda b, enc: b.decode(enc)
LookupError: unknown encoding: unknown_codepage_21010
谁能帮忙解决这个问题吗?
PS:我知道如果我在 Windows Excel 中打开文件并重新保存它,代码可以工作,但我正在寻找一种无需手动调整的解决方案。
最佳答案
使用 ExcelFile 类,我成功地将文件读入 python 中。 让我知道这是否有帮助!
import xlrd
import pandas as pd
xls = pd.ExcelFile(’C:\data.xls’)
xls.parse(’Index Constituents Data’, index_col=None, na_values=[’NA’])
关于Python 从 .xls 文件读取数据时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29270445/