pyspark Spark SQL/DataFrame中的字符串编码问题

ehxuflar  于 2022-11-01  发布在  Spark
关注(0)|答案(2)|浏览(239)

我有一个csv文件,它有两列:id(int),name(string).当我通过下面的代码将文件读入pyspark时:

schema = StructType([
        StructField("id", IntegerType(), True),
        StructField("name", StringType(), True)])
df = sqlContext.read.csv("file.csv", 
                             header=False, schema = schema)

在执行df.first()时,我得到以下输出:

Row(artistid=1240105, artistname=u'Andr\xe9 Visior')

这是文件中的原始行:

1240105,André Visior

如何按原样显示名称?

bakd9h0s

bakd9h0s1#

通过将CSV文件打开为CSV(utf-8)保存CSV文件

a0zr77ik

a0zr77ik2#

不是一个非常干净的方式,但这里有一个快速修复。

s = "1240105,André Visior"
s.decode('latin-1').encode("utf-8").replace("\xc3\xa9 ","e'")

>>
"1240105,Andre'Visior"

您可能要查看Latin-1Unicode/ASCII的转换here

相关问题