在UTF-16
中读取以下CSV数据时遇到一些问题:
FullName, FullLabel, Type
TEST.slice, "Consideration":"Verde (Spar Verde, Fonte Verde)", Test,
据我所知,这对读者来说应该不是问题,因为有一个quote
参数来处理这个问题
df = spark.read.csv(file_path, header=True, encoding='UTF-16', quote = '"')
但是,这仍然会给我一个不正确的分割:
有没有办法处理这些情况,或者我需要与RDD一起解决
先谢谢你
您可以使用
spark.read.text
作为文本读取,并使用一些正则表达式拆分值,以逗号分隔,但忽略引号(您可以看到这个post),然后从结果数组中获取相应的列:更新:
对于
utf-16
中的输入文件,可以通过将文件加载为binaryFiles
来替换spark.read.text
,然后将结果rdd转换为数据帧:下面是另一个选项(如果您觉得简单):
首先将文本文件读取为RDD,并将
":"
替换为~:~
并保存文本文件接下来,读取临时路径并再次将
~:~
替换为":"
,但这次是作为DF相关问题 更多 >
编程相关推荐