【问题标题】:unicode datas of a dataframe to strings将数据帧的 unicode 数据转换为字符串
【发布时间】:2017-07-14 07:14:00
【问题描述】:

我在读取 xls 文件时遇到了一些问题。 这种数据帧上的每个数据都具有“unicode”类型,我对此无能为力。我想将其更改为 str 值。另外,如果可能的话,我想知道这个事实的原因。我听说过一些关于“外部数据”的信息,并且我知道列和索引在这些名称之前也显示了 unicode 的“u”。我对编码几乎一无所知,如果有人另外解释一下,我将不胜感激。

我正在使用 Python 2,我尝试使用函数逐列解决它

.astype(str) 
.astype(basestring)
.apply(str) 

.str.decode('iso-8859-1').str.encode('utf-8') 

(我在这里阅读了最后一个,我只是在我的代码中写了它来尝试另一件事)。我也试过了

unicodedata.normalize('NFKD', df_bolsa[l]).encode('ascii','ignore')

但最后一个不能与系列一起使用。 我希望有人能够帮助我澄清这件事。 提前非常感谢您!

【问题讨论】:

  • 谢谢,但我实际上不知道如何将这个问题应用到我的身上。无论如何,我明天会阅读它以尝试了解有关编码的一些信息...再次感谢!

标签: python python-2.7 pandas python-unicode unicode-string


【解决方案1】:

您可以使用以下代码。

for column in df:
    df[column] = df_peru[column].str.encode('utf-8')

【讨论】:

    【解决方案2】:

    为了帮助其他人,这个版本对我有用。 将数据框加载到 oracle 数据库时出现错误:“UnicodeDecodeError: 'ascii' codec can't decode byte 0xea in position 2: ordinal not in range(128)

    我使用的是 Python 2.7 版

    for column in df:
        df[column]=  df[column].astype(str).str.decode('utf-8')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-21
      • 2014-06-07
      • 2020-07-29
      • 2023-03-31
      • 2018-02-18
      • 1970-01-01
      • 2020-10-02
      相关资源
      最近更新 更多