問題:為什么我在下面代碼的最后一行出現以下錯誤,如何解決這個問題?
AttributeError:“DataFrame”物件沒有屬性“OrderID”
CSV 檔案編碼:UTF-16 LE BOM
列數:150
行數:5000
語言等:Python、Apache Spark、Azure-Databricks
MySampleDataFile.txt:
FirstName~LastName~OrderID~City~.....
Kim~Doe~1234~New York~...............
Bob~Mason~456~Seattle~...............
..................
代碼示例:
from pyspark.sql.types import DoubleType
df = spark.read.option("encoding","UTF-16LE").option("multiline","true").csv("abfss://[email protected]/myFolder/MySampleDataFile.txt", sep='~', escape="\"", header="true", inferSchema="false")
display(df.limit(4))
df1 = df.withColumn("OrderID", df.OrderID.cast(DoubleType()))
display(df.limit(4)) 的輸出它成功地以帶有列標題的表格格式顯示 df 的內容 - 類似于此處的示例:
---------------------------------------
|FirstName|LastName|OrderID|City|.....|
---------------------------------------
|Kim~Doe|1234|New York|...............|
|Bob|Mason|456|Seattle|...............|
|................ |
---------------------------------------
uj5u.com熱心網友回復:
AttributeError:“DataFrame”物件沒有屬性“OrderID”
如何解決這個問題?
您可以嘗試以下方法來更改data type.
df1 = df.withColumn("OrderID", df[“OrderID”].cast(DoubleType()))
或-替代方式,
pyspark.sql.functions.col它將根據提供的名稱回傳一列column。
from pyspark.sql.functions import col
df1 = df.withColumn("OrderID", col("OrderID").cast(DoubleType()))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/494567.html
