如何将记录分隔符转换为换行符

时间:2019-06-12 09:14:57

标签: python apache-spark pyspark apache-spark-sql python-unicode

你好,我正在用这个海豚pyspark 我有一个包含此信息的txt文件

c-234r4|Julio|38|Madrida-533r2|Ana|32|Madrida-543r4|Sonia|33|Bilbaob-654r4|Jorge|23|Barcelona

如果您看到所有记录都是使用“记录分隔符” see this link

连接的,

我正在尝试这样做,但是没有结果

df = spark.read.load("s3://my-bucket/txt_file/data.txt", format="csv", sep="|", inferSchema="true", encoding="UTF-8", escape='U+001E')


df.show(10, False)

错误:

Py4JJavaError: An error occurred while calling o496.load.
: java.lang.RuntimeException: escape cannot be more than one character
    at org.apache.spark.sql.execution.datasources.csv.CSVOptions.getChar(CSVOptions.scala:52)

最终结果必须如下所示:

+-------+-----+---+--------------+
|_c0    |_c1  |_c2|_c3           |
+-------+-----+---+--------------+
|c-234r4|Julio|38 |Madrid        |
|a-533r2|Ana  |32 |Madrid        |
|a-543r4|Sonia|33 |Bilbao        |
|b-654r4|Jorge|23 |Barcelona     |
+-------+-----+---+--------------+

已测试的选项:

option-1 ->这完全是错误的

enter image description here

option-2 ->这将行显示为列...这是错误的

enter image description here


有人可以给我建议吗,我需要一个解决我实际职位上的想法的想法吗?

我会感激

谢谢

0 个答案:

没有答案