2017-07-24 61 views
0

csv文件,我已經包含在雙引號( 「)數據的CSV文件0001 」 「A」, 「001」,「 2017年1月1日星火 - 閱讀與報價

」。 12"

「0001」, 「B」, 「002」, 「2017年1月1日13」

我想只讀純數據(沒有「符號)。

spark.read 
.option("encoding", encoding) 
.option("header", header) 
.option("quote", quote) 
.option("sep", sep) 

其他選項很好,但只有報價似乎不能正常工作。 IT負載使用引號符號(「)。我應該如何利用這個符號開來加載的數據。


dataframe.show結果

+----+----+------+---------------+ 
| _c0| _c1| _c2|    _c3| 
+----+----+------+---------------+ 
|0001| "A"| "001"| "2017/01/01 12"| 
|0001| "B"| "002"| "2017/01/01 13"| 
+----+----+------+---------------+ 

回答

1

您可以使用選項報價如下

option("quote", "\"") 

如果您的兩個數據之間有一個額外的空間爲「abc」,「xyz」,則您需要使用

option("ignoreLeadingWhiteSpace", true)

希望這有助於

+0

相同的結果。感謝tho :) –

+0

它適用於我的樣品數據。 –

+0

你能告訴我你的dataframe.show()結果與我的比較嗎? –

1

我創建使用databicks API的示例程序,並試圖在你的數據集

請檢查下面的代碼讀取csv文件

val df = spark.read.format("com.databricks.spark.csv") 
    .option("header", true) 
    .option("ignoreLeadingWhiteSpace", true) 
    .load("src/test/resources/test") 

df.show() 
+-----+------+-----+ 
|first|second|third| 
+-----+------+-----+ 
| A| 001| CCC| 
| B| 002| DDD| 
+-----+------+-----+ 
+0

這是不同的比其他答案? –

+0

我還沒有看到你的答案,當我準備這個,一旦我上傳了,我看到你已經回答了 –