Python数据框列搜索拉丁语

时间:2018-07-26 21:21:08

标签: python dataframe iso-8859-1

我有5个不同的数据框。它们的列和列类型都不同。这些df是从Excel创建的。我有一个脚本读取df并将其推送到MySQL。 某些特长具有拉丁字符。我想设置sys.setdefaultencoding('latin-1')如果它们在df中的任何地方都包含拉丁字符。 这是我所拥有的,它不起作用。我该如何解决?

这是我的错误: ValueError:系列的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all()。

                for column in df:
                  if df[column].astype(str).str.contains(ur'[^\x00-\x7F\x80-\xFF\u0100-\u017F\u0180-\u024F\u1E00-\u1EFF]'):
                    sys.setdefaultencoding('latin-1')

1 个答案:

答案 0 :(得分:0)

您在整列上调用了一个函数contains。结果是一列大小的布尔值数组。 if需要一个布尔表达式。

我希望您需要在表达式中添加any归约运算符。

if any(df[column] ... ):
    sys.setdefaultencoding('latin-1')