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



所以我有这个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'Andrxe9 Visior')

这是文件中的原始行:

1240105,André Visior

如何按原样显示名称?

通过打开 CSV(utf-8( 来保存 CSV 文件

这不是一个非常干净的方法,但这里有一个快速解决方案。

s = "1240105,André Visior"
s.decode('latin-1').encode("utf-8").replace("xc3xa9 ","e'")
>>
"1240105,Andre'Visior"

您可能想在此处查看Latin-1 Unicode/ASCII转换

相关内容

  • 没有找到相关文章