我有一个像这样的文本文件数据,
Name|age|course|"A"|20|"Science"|"B"|23|"Math"|"C"|25|"Englsih"
我需要获取“姓名”、“年龄”和“课程”列,并且必须创建数据框。请任何人帮我解决这个问题。
我试过这个代码
df = spark.read.csv("test.txt")
df_split = df.withColumn("split_data", split(df["_col"], "\\|"))
df_final = df_split.select(
col("split_data")[0].alias("Name"),
col("split_data")[1].alias("Age"),
col("split_data")[2].alias("Course")
)
df_final.show()
spark.read.csv(filepath, sep='|')
您作为示例给出的文件是一个文本文件,其中所有列均使用“|”分隔(管道)符号,在实践中我们通常看到平面文本文件以“,”(逗号)作为分隔符。为了处理这种特殊的文本分隔符,spark 提供了一个在函数调用中提供
sep
参数的选项,我们可以利用它来正确解析数据。