熊猫无法读取Excel编码

时间:2018-08-28 22:15:53

标签: python pandas encoding

我正在尝试将Excel文件导入Pandas。我正在使用df=pd.read_excel(file_path),但它总是让我收到此错误:

*** No CODEPAGE record, no encoding_override: will use 'ascii'
*** No CODEPAGE record, no encoding_override: will use 'ascii'
Traceback (most recent call last):
  File "/Users/santanna_santanna/PycharmProjects/KlooksExplore/FindCos/FindCos_Functions.py", line 5468, in <module>
    adjust_sheet(y1,y2,y3)
  File "/Users/santanna_santanna/PycharmProjects/KlooksExplore/FindCos/FindCos_Functions.py", line 5130, in adjust_sheet
    y1=pd.read_excel(y1)
  File "/Users/santanna_santanna/anaconda3/lib/python3.6/site-packages/pandas/util/_decorators.py", line 118, in wrapper
    return func(*args, **kwargs)
  File "/Users/santanna_santanna/anaconda3/lib/python3.6/site-packages/pandas/io/excel.py", line 230, in read_excel
    io = ExcelFile(io, engine=engine)
  File "/Users/santanna_santanna/anaconda3/lib/python3.6/site-packages/pandas/io/excel.py", line 294, in __init__
    self.book = xlrd.open_workbook(self._io)
  File "/Users/santanna_santanna/anaconda3/lib/python3.6/site-packages/xlrd/__init__.py", line 162, in open_workbook
    ragged_rows=ragged_rows,
  File "/Users/santanna_santanna/anaconda3/lib/python3.6/site-packages/xlrd/book.py", line 119, in open_workbook_xls
    bk.get_sheets()
  File "/Users/santanna_santanna/anaconda3/lib/python3.6/site-packages/xlrd/book.py", line 719, in get_sheets
    self.get_sheet(sheetno)
  File "/Users/santanna_santanna/anaconda3/lib/python3.6/site-packages/xlrd/book.py", line 710, in get_sheet
    sh.read(self)
  File "/Users/santanna_santanna/anaconda3/lib/python3.6/site-packages/xlrd/sheet.py", line 815, in read
    strg = unpack_string(data, 6, bk.encoding or bk.derive_encoding(), lenlen=2)
  File "/Users/santanna_santanna/anaconda3/lib/python3.6/site-packages/xlrd/biffh.py", line 249, in unpack_string
    return unicode(data[pos:pos+nchars], encoding)
  File "/Users/santanna_santanna/anaconda3/lib/python3.6/site-packages/xlrd/timemachine.py", line 30, in <lambda>
    unicode = lambda b, enc: b.decode(enc)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc2 in position 1: ordinal not in range(128)

我要导入的文件是this one。 是编码问题还是文件中的某些字符导致了此问题?解决该问题的方法是什么?

2 个答案:

答案 0 :(得分:1)

pd.read_excel('data.csv' encoding='utf-8')

答案 1 :(得分:0)

@天体生物学家给出了很好的提示

由于我不想麻烦打补丁,因此找到的解决方法是在Open Office中打开文件并将其另存为Excel 97文件。终于成功了