我需要在Python中读取一些xls文件。样本数据文件可以通过Link:data.file找到。我试过了:
import pandas as pd
pd.read_excel('data.xls',sheet=1)
但它会给出错误信息:
错误***代码页21010 - >编码' unknown_codepage_21010' - > LookupError:未知编码:unknown_codepage_21010 Traceback(大多数 最近的电话):
文件"",第1行,in pd.read_excel(' data.xls',片= 1)
文件" C:\ Anaconda3 \ lib \ site-packages \ pandas \ io \ excel.py",第113行, 在read_excel中 返回ExcelFile(io,engine = engine).parse(sheetname = sheetname,** kwds)
文件" C:\ Anaconda3 \ lib \ site-packages \ pandas \ io \ excel.py",第150行, 在 init self.book = xlrd.open_workbook(io)
文件" C:\ Anaconda3 \ lib \ site-packages \ xlrd__init __。py",第435行,in open_workbook ragged_rows = ragged_rows,
文件" C:\ Anaconda3 \ lib \ site-packages \ xlrd \ book.py",第116行, open_workbook_xls bk.parse_globals()
文件" C:\ Anaconda3 \ lib \ site-packages \ xlrd \ book.py",第1170行, parse_globals self.handle_codepage(数据)
文件" C:\ Anaconda3 \ lib \ site-packages \ xlrd \ book.py",第794行,在 handle_codepage self.derive_encoding()
文件" C:\ Anaconda3 \ lib \ site-packages \ xlrd \ book.py",第775行,在 derive_encoding _unused = unicode(b' trial',self.encoding)
文件" C:\ Anaconda3 \ lib \ site-packages \ xlrd \ timemachine.py",第30行, 在 unicode = lambda b,enc:b.decode(enc)
LookupError:未知编码:unknown_codepage_21010
有人可以帮忙解决这个问题吗?
PS:我知道如果我在windows excel中打开文件并重新保存,代码可以正常工作,但我正在寻找一种无需手动调整的解决方案。
答案 0 :(得分:1)
使用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’])
答案 1 :(得分:1)
以下内容对我有用。
import xlrd
my_xls = xlrd.open_workbook('//myshareddrive/something/test.xls',encoding_override="gb2312")