【问题标题】:Pandas can't read excel encoding熊猫无法读取 excel 编码
【发布时间】:2018-08-29 20:29:50
【问题描述】:

我正在尝试将一个 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。 这是编码问题还是文件中的某些字符导致了这种情况?解决它的方法是什么?

【问题讨论】:

标签: python pandas encoding


【解决方案1】:
pd.read_excel('data.csv' encoding='utf-8')

【讨论】:

【解决方案2】:

@astrobiologist 给了一个很好的提示

由于我不希望打补丁的麻烦,我发现解决的方法是在 Open Office 中打开文件并将其保存为 Excel 97 文件。终于成功了

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-26
    • 2020-02-10
    • 2021-05-27
    • 1970-01-01
    • 2021-07-06
    • 2014-05-06
    • 2014-06-28
    • 2016-04-01
    相关资源
    最近更新 更多