Pyspark 读取 csv

fre*_*ast 0 csv dataframe apache-spark apache-spark-sql pyspark

读取 csv 后,我得到了意外的输出:

MessageName;ContactKey;DateTimeSend;MessageContent;MessageOpened;OpenDate;TimeInApp;Platform;PlatformVersion;Status
20200903 - NL SPAARUPDATE Augustus;0031t00000A4w0xAAB;09/03/2020 8:09;Vorige maand heb je dankzij de Lidl-Plus app %%savings%% euro gespaard. Goed bezig! ??????;no;;;iPhone OS;12.4.5;Success
Run Code Online (Sandbox Code Playgroud)

正如您可以想象的那样,输出需要将此信息拆分为列和单元格以创建正常的数据框。

我尝试了以下代码:

df = spark.read.csv('/FileStore/tables/BE_August_monthlysaving.csv', header='true')

display(df)

Run Code Online (Sandbox Code Playgroud)

或者,我尝试, delimiter=';'在标题之前和之后使用,但是当我这样做时,出现以下错误:

csv() 得到意外的关键字参数“分隔符”

知道如何解决这个输出吗?

mck*_*mck 5

使用sep而不是delimiter

df = spark.read.csv('/FileStore/tables/BE_August_monthlysaving.csv', header='true', sep=';')
Run Code Online (Sandbox Code Playgroud)

或者你可以把它作为option

df = spark.read.option('delimiter', ';').csv('/FileStore/tables/BE_August_monthlysaving.csv', header='true')
Run Code Online (Sandbox Code Playgroud)