从.xls文件读取数据时出现Python错误

时间:2015-03-26 03:09:03

标签: python pandas import-from-excel

我需要在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中打开文件并重新保存,代码可以正常工作,但我正在寻找一种无需手动调整的解决方案。

2 个答案:

答案 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")