取消
顯示的結果
而不是尋找
你的意思是:

無形的空間當閱讀. csv文件

BAZA
新的貢獻者二世

. csv文件導入時主要在分隔符和/或落後的空地,字符串的輸出結果似乎減少輸出表或當使用.display()但實際上不修剪。
可以確定的值不修剪,因為在聲明中僅包含了工作空間時。

熱修複補丁是使用修剪(),以確保進口數據沒有前導或尾隨空格。
我建議,如果有前導或尾隨空格輸入. csv文件(錯誤地),然後輸出表中這些空間是可見的。

附件是最小可行的例子導入sample_data筆記本(CSV_leading_Space_Bug筆記本)。csv文件。因為我不能提交任意附件我將筆記本和sample_data的內容寫。csv下麵這樣一個簡單的複製和粘貼再現了失敗。重要的是,sample_data的空的空間。csv保持。

最好的問候,
布魯諾安東尼奧

sample_data.csv
名稱、體育城市,得分
安娜,足球,巴黎,123年
布魯諾,網球,羅馬,75年
Catherina,排球,奧斯陸,66年
迭戈、衝浪、巴塞羅那,81年

CSV_leading_Space_Bug筆記本

#磚筆記本的來源
#魔法%醫學博士
#魔法# # . csv文件導入的例子與前導和尾隨空白空間
#魔法
#魔法導入. csv文件與周圍空間分隔符的結果在* *看不見的前導和尾隨空白空間* *很難調試。
#魔術熱修複補丁是使用修剪()的函數,而是一個永久修複請求。

- - - - - - - - - - - #命令

從pyspark.sql。類型進口StructType、StructField StringType、LongType IntegerType, DecimalType, DateType, ByteType BooleanType

- - - - - - - - - - - #命令

#讀csv文件

sampleDataFilePath = " < path-to-file > / sample_data.csv "

模式= StructType ([StructField(“名字”,StringType(),真的),
StructField(“體育”,StringType(),真的),
StructField(“城”,StringType(),真的),
StructField(“分數”,IntegerType(),真的)

])

df = (spark.read.format (csv)
. schema(模式)
.options(頭= True, enforceSchema = True, inferSchema = False, 9 = "、")
.load (sampleDataFilePath)
)

df.createOrReplaceTempView (“sample_data”)

- - - - - - - - - - - #命令

#魔法% sql
#魔法select *
#魔法從sample_data

- - - - - - - - - - - #命令

#魔法% python
#魔法spark.sql (“””
#魔法select *
#魔法從sample_data
#魔法”“”).display ()

- - - - - - - - - - - #命令

#魔法%醫學博士
#魔法似乎首尾空格的字符串列被削減了。但事實並非如此:

- - - - - - - - - - - #命令

#魔法% sql
#魔法select *
#魔法從sample_data
#魔法城市=“巴黎”

- - - - - - - - - - - #命令

#魔法% sql
#魔法select *
#魔法從sample_data
#魔法城市=“巴黎”

- - - - - - - - - - - #命令

#魔法% sql
#魔法select *
#魔法從sample_data
#魔法運動=“衝浪”

- - - - - - - - - - - #命令

#魔法% sql
#魔法select *
#魔法從sample_data
#魔法運動=“衝浪”

- - - - - - - - - - - #命令

#魔法% sql
#魔法select *
#魔法從sample_data
#魔法運動=“衝浪”

- - - - - - - - - - - #命令

#魔法% sql
#魔法select *
#魔法從sample_data
#魔法運動=“衝浪”

- - - - - - - - - - - #命令

#魔法%醫學博士
#魔法# #的建議
#魔法
#魔術熱修複補丁是使用的削減(),以確保進口數據沒有前導或尾隨空格。
#魔法
#魔法我建議,如果有前導或尾隨空格輸入. csv文件(錯誤地),然後輸出表中這些空間是可見的。

7回複7

werners1
尊敬的貢獻者三世

嗯你肯定是不可見的空間嗎?因為使用顯示()是我的方法去檢測領先/落後於空間。

BAZA
新的貢獻者二世

通常顯示的列足以識別空間。我經常這樣做,以確保如果我需要修剪()因為一些和我一起工作表的連接操作尾隨的空格。但在這種奇怪的情況下他們是不可見的。甚至複製數據並顯示空間。

werners1
尊敬的貢獻者三世

也許這些都是看不見的字符而不是純空格。

BAZA
新的貢獻者二世

我創造了手工. csv和寫的空間使用空格鍵。:female_sign:

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map