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
3 Réponses :
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")
)
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
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)
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")
Utilisez
header = TrueDouble possible de Charger le fichier CSV avec Spark (la réponse la plus votée, pas celle acceptée )