如何在第一行中显示我现有的列名,而不是“ _c0”,“ _ c1”,“ _ c2”,“ _ c3”,“ _ c4”?

时间:2019-08-01 12:26:30

标签: pyspark apache-spark-sql azure-databricks spark-notebook

数据框在第一行中显示_c0,_c1而不是我的原始列名称。
    我想在CSV的第一行上显示我的列名。

    dff = 
    spark.read.csv("abfss://dir@acname.dfs.core.windows.net/
    diabetes.csv")
    dff:pyspark.sql.dataframe.DataFrame
    _c0:string
    _c1:string
    _c2:string
    _c3:string
    _c4:string
    _c5:string
    _c6:string
    _c7:string
    _c8:string

3 个答案:

答案 0 :(得分:0)

我只是按以下代码排序

    .select(col("_c0").alias("A"),
             col("_c1").alias("B"),
             col("_c2").alias("C"),
             col("_c3").alias("D"),
             col("_c4").alias("E")

            )

答案 1 :(得分:0)

非常简单的解决方案是在读取文件时将header = True:

dff = spark.read.csv("abfss://dir@acname.dfs.core.windows.net/diabetes.csv", header=True)

答案 2 :(得分:0)

在加载CSV文件时将标头设置为true。

spark.read.format("csv")
                   .option("delimiter", ",")
                   .option("header", "true")
                   .option("inferSchema", "true")
                   .load("file.csv")