Pyspark读取csv文件并保留原始特殊字符

2024-05-16 15:54:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在读一个csv文件,其中只有如下数据

Country        State      City
MÉXICO         Neu Leon   Monterrey    
MÉXICO         Chiapas    ATLÁNTICO

我尝试在pyspark数据帧中读取编码为'utf8'和'ISO-8859-1'的文件,但值发生了如下更改-

在选项中(“编码”、“utf-8”)

Country          State      City
M�XICO         Neu Leon   Monterrey    
M�XICO         Chiapas    ATL�NTICO

在选项中(“编码”,“ISO-8859-1”)

Country        State      City
M?XICO         Neu Leon   Monterrey    
M?XICO         Chiapas    ATL?NTICO

这是spark read的声明

spark.read.format("csv").option("quote", "\"").option("escape", "\"").option('multiLine', True).option("encoding", "ISO-8859-1").option("header", "true").load("country.csv")

选项(“编码”、“mbcs”)和选项(“编码”、“ansi”)给出错误

如何保留输入文件中的原始文本??提前谢谢


Tags: 文件csvcity编码选项countryoptionstate
1条回答
网友
1楼 · 发布于 2024-05-16 15:54:52

重新读取,不进行编码,然后创建一个新列:

df.withColumn("some_col_name", decode(col("column_name"), "ISO-8859-1"))

# One of these will give you what you need. ('US-ASCII', 'ISO-8859-1', 'UTF-8', 'UTF-16BE', 'UTF-16LE', 'UTF-16')

相关问题 更多 >