【问题标题】:Decode error - output not utf-8 - pandas/python 2.7/excel/win解码错误 - 输出不是 utf-8 - pandas/python 2.7/excel/win
【发布时间】:2015-12-24 07:12:09
【问题描述】:

我开始玩熊猫了。

我下载了一个谷歌表格。

win7从excel中读取一些数据时:

xls = pd.ExcelFile('C:/Users/file.xlsx')
data = xls.parse('Sheet 1', index_col=None, na_values=['NA'])
print "Data", data 

我是一个得到:

Decode error - output not utf-8

原来的excel文件有文字和数字。

怎么了?

谢谢,

【问题讨论】:

    标签: excel python-2.7 pandas


    【解决方案1】:

    这是因为,您的数据编码从 ASCII 更改为 latin1。试试这个编码 cp1252

    【讨论】:

      【解决方案2】:

      尝试添加不同的编码参数,例如iso-8859-1。这是一个详尽的list from the Internet Assigned Numbers Authority (IANA)。尽管数据可能看起来像合法的拉丁数字和文本,但一个字符可能需要不同的字符集,具体取决于来源。

      您也可以使用两步流程ExcelFile 或一步流程read_excel

      Excel文件

      xls = pd.ExcelFile('C:/Users/file.xlsx')
      data = xls.parse('Sheet 1', index_col=None, na_values=['NA'], encoding='iso-8859-1')
      print data.head()
      

      read_excel

      data = pd.read_excel('C:/Users/file.xlsx', 'Sheet 1', encoding='iso-8859-1')
      print data.head()
      

      【讨论】:

      • 感谢您的回答。不幸的是,到目前为止都没有奏效。我会继续努力的。
      • 试试这个流行的编码列表here。通常字符集取决于文件来源的语言。
      • 感谢您的列表。我要导入的谷歌表是我的。我认为当我将其下载到我电脑上的 Excel 文件时可能存在格式问题。你怎么看?
      猜你喜欢
      • 2015-09-03
      • 2014-10-28
      • 1970-01-01
      • 1970-01-01
      • 2014-01-30
      • 1970-01-01
      • 1970-01-01
      • 2014-01-27
      • 2018-08-04
      相关资源
      最近更新 更多