首页 > 解决方案 > 如何解决pyspark数据帧中的编码问题

问题描述

我有这样的 .csv 文件:

پالايش  صندوق پالايشي يکم-سهام  157053  82845166    8.62981E+12 100140  100010  105180  5040    5.03    104170  4030    4.02    100000  108000  1399-9-23
                                                            
شستا    سرمايه گذاري تامين اجتماعي  82830   172058561   4.80766E+12 28880   28100   27700   -1180   -4.09   27940   -940    -3.25   27580   28480   1399-9-23

现在,当我想用​​ pyspark 读取这个文件时:

df = spark.read.option("inferSchema","true").option("encoding", "utf-8").csv("1399-12-27.csv").toDF( 'simbol',
    'name',
     'count',
     'volume',
     'Value',
     'lastday',
     'first',
     'lastTransactionamount',
     'lastTransactionChange',
     'lastTransactionPercentage',
     'finalpriceamount',
     'finalpriceChange',
     'finalpricePercentage',
     'min',
     'max',
     'date')
df.show(5)

如下图所示: 在此处输入图像描述

请指导我。谢谢。

标签: dataframepysparkencoding

解决方案


您的编码很可能在这里被绕过并且无法正常工作。尝试使用任何别名作为“utf8、latin-1、latin1、iso-8859-1、iso8859-1”而不是“utf-8”。

请参阅相关文档:“https://docs.python.org/3/library/codecs.html#standard-encodings”

例如替换: option("encoding", "utf-8") 为 ("encoding","iso-8859-1")


推荐阅读