我需要读取一个编码为“ISO-8859-1”的csv文件,但当使用sc.TextFile时,它不会为我提供选择编码方法的参数/选项。正因为如此,我的一些绳子
不使用read.csv(),因为文件有一个双分隔符,所以我需要做一些修改,因为pyspark不接受双分隔符
正在使用的代码:
df_x = (
spark
.createDataFrame(
sc.textFile(path, use_unicode=True)
.map(lambda line: line.replace("\t", ""))
.map(lambda line: line.split("@|"))
, schema = config["report"]["schema"]
)
)
当前输出(葡萄牙语):
R. GERALDO RODRIGUES DA SILVA 112
RUA ANT�NIO GON�ALVES FILHO 91
Jos� Gon�alves Borges 391
SALDANHA MARINHO 522
预期产出应为:
R. GERALDO RODRIGUES DA SILVA 112
RUA ANTÔNIO GONÇALVES FILHO 91
José Gonçalves Borges 391
SALDANHA MARINHO 522
我已经找到了编码的解决方案。主要问题是python、spark和scala版本(databricks运行时)
根据解决方案,我们将databricks更新为Python3.7、spark 3.0和scala 2.12,并编写了以下代码
相关问题 更多 >
编程相关推荐