2017-07-24 4 views
0

Ich habe eine CSV-Datei, die Daten in doppelten Anführungszeichen enthalten haben (") 0001 " "A", "001"," 2017/01/01Funken - Lesen Sie CSV-Datei mit Zitat

." 12"

"0001", "B", "002", "2017.01.01 13"

ich mag nur reine Daten (ohne lesen "-Symbol).

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

Andere Optionen funktionieren gut, aber nur Zitat scheint nicht ordnungsgemäß zu funktionieren. Es lädt mit Zitat Symbol ("). Wie soll ich dieses Symbol nehme von geladenen Daten aus.


dataframe.show Ergebnis

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

Antwort

1

können Sie Option Zitat verwenden, wie unten

option("quote", "\"") 

Wenn Sie zwischen Ihren beiden Daten einen zusätzlichen Platz als "abc", "xyz" haben, müssen Sie

01 verwenden

hoffe, das hilft

+0

gleiche Ergebnis zu lesen. Danke tho :) –

+0

Es funktionierte gut mit Ihren Beispieldaten für mich. –

+0

könnten Sie mir Ihr Dataframe.show() Ergebnis für den Vergleich mit mir zeigen? –

1

Ich habe ein Beispielprogramm mit databicks api erstellt und versucht, es auf Ihrem Dataset

unten Code überprüfen Sie bitte CSV-Datei

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

Ist das anders als die andere Antwort? –

+0

Ich habe nicht Ihre Antwort gesehen, als ich dies vorbereitete, Als ich es hochgeladen habe, habe ich gesehen, dass du bereits geantwortet hast –

Verwandte Themen