0

So habe ich diese CSV-Datei, die zwei Spalten hat: ID (Int), Name (String). Wenn ich die Datei in pyspark lesen Throught den folgenden Code:String-Codierung Problem in Spark SQL/DataFrame

schema = StructType([ 
     StructField("id", IntegerType(), True), 
     StructField("name", StringType(), True)]) 
df = sqlContext.read.csv("file.csv", 
          header=False, schema = schema) 

Auf Ausführung df.first() ich folgende Ausgabe:

1240105,André Visior 
:

Row(artistid=1240105, artistname=u'Andr\xe9 Visior') 

die ursprüngliche Zeile aus der Datei Dies ist

Wie gehe ich vor, um den Namen so anzuzeigen, wie er ist?

Antwort

0

Nicht eine sehr saubere Art, aber hier ist eine schnelle Lösung.

s = "1240105,André Visior" 
s.decode('latin-1').encode("utf-8").replace("\xc3\xa9 ","e'") 

>> 
"1240105,Andre'Visior" 

Sie möchten vielleicht Latin-1-Unicode/ASCII Umwandlung durch Öffnung here

+0

Sorry, ich sollte geklärt haben. Ich möchte, dass alle Strings in der Spalte Name so sind, wie sie in der Datei sind, nicht nur die erste Zeile – HMK

0

speichern die CSV-Datei aus, als CSV (utf-8)

+0

Wie öffne ich es als eine UTF8-Datei in Pyspark? – HMK

+0

keine Datei in eexcel öffnen und als CSV (utf-8) speichern und dann das gleiche Programm anwenden. –

Verwandte Themen