2
votes

Comment afficher mon nom de colonne existant à la place '_c0', '_c1', '_c2', '_c3', '_c4' dans la première ligne?

Cadre de données affichant _c0, _c1 à la place de mes noms de colonne d'origine dans la première ligne.
je veux afficher le nom de ma colonne qui se trouve sur la première ligne de mon 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


2 commentaires

Utilisez header = True


Double possible de Charger le fichier CSV avec Spark (la réponse la plus votée, pas celle acceptée )


3 Réponses :


0
votes

Je viens de trier par le code ci-dessous

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

            )


3 commentaires

Je ne recommanderais pas de le faire de cette façon car la première ligne de votre dataframe contiendrait l'en-tête


Ouais vous avez raison, je viens de mettre "Header = true" qui fonctionne pour moi merci pour votre aide.


Vous devez supprimer cette réponse et accepter la cible en double



3
votes

La solution très simple consiste à avoir un header = True pendant que vous lisez le fichier:

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


0 commentaires

0
votes

Définissez l'en-tête comme vrai lors du chargement du fichier CSV.

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


0 commentaires