您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – PySpark – UnicodeEncodeError:’ascii’编解码器不能编码字符

5b51 2022/1/14 8:21:27 python 字数 1918 阅读 529 来源 www.jb51.cc/python

使用spark.read.csv将带有外来字符(???)的数据框加载到Spark中,并使用encoding ='utf-8'并尝试执行简单的show().>>> df.show() Traceback (most recent call last): File '<stdin>', line 1, in <module&

概述

使用spark.read.csv将带有外来字符(åäö)的数据框加载到Spark中,并使用encoding =’utf-8’并尝试执行简单的show().

>>> df.show()

Traceback (most recent call last):
File "
  
   sql/dataframe.py",line 287,in show
print(self._jdf.showString(n,truncate))
UnicodeEncodeError: 'ascii' codec can't encode character u'\ufffd' in position 579: ordinal not in range(128)

  

我认为这可能与Python本身有关但我无法理解here for example中提到的任何技巧如何应用于PySpark和show() – 函数的上下文中.

export PYTHONIOENCODING=utf8

在跑pyspark之前.我想知道为什么以上工作,因为即使没有它,sys.getdefaultencoding()也为我返回了utf-8.

How to set sys.stdout encoding in Python 3?还谈到了这一点,并为Python 3提供了以下解决方案:

import sys
sys.stdout = open(sys.stdout.fileno(),mode='w',encoding='utf8',buffering=1)

总结

以上是编程之家为你收集整理的python – PySpark – UnicodeEncodeError:’ascii’编解码器不能编码字符全部内容,希望文章能够帮你解决python – PySpark – UnicodeEncodeError:’ascii’编解码器不能编码字符所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶