Spark -如何以正确的方式通过Spark读取csv文件?

qzlgjiam  于 2023-04-03  发布在  Spark
关注(0)|答案(1)|浏览(195)

我有一个csv文件,它看起来像这样:
标题、描述、作者
苏斯博士:在《美国偶像》一书中,菲利普·内尔引人入胜地探讨了苏斯职业生涯的关键方面--他的诗歌、政治、艺术、市场营销以及在大众想象中的地位。内尔令人信服地指出,苏斯博士是美国最有影响力的诗人之一。他的无厘头诗歌,就像刘易斯·卡罗尔和爱德华·李尔的诗歌一样,改变了语言本身,给了我们一些新词,比如“书呆子”。而苏斯著名的疯狂的艺术风格--内尔称之为“充满活力的卡通超现实主义”--也同样重要,激励了电影制片人蒂姆·伯顿和插画家莱恩·史密斯等艺术家。
我把这个文件读到一个spark dataframe:

df_fake= spark.read.option("header","true").csv("C:\\Users\\KhanhDV8\\Desktop\\fake.csv")
df_fake.show()

我想要这个数据框:
| 标题|说明|作者|
| --------------|--------------|--------------|
| 苏斯博士:美国偶像|“菲利普·内尔引人入胜地审视了苏斯职业生涯的关键方面--他的诗歌、政治、艺术、市场营销以及在大众想象中的地位。”内尔令人信服地认为苏斯博士是美国最有影响力的诗人之一。他的无厘头的诗句,就像刘易斯·卡罗尔和爱德华·李尔的诗句一样,改变了语言本身,给我们带来了“书呆子”这样的新词。而苏斯著名的疯狂的艺术风格--内尔称之为“充满活力的卡通超现实主义”--也同样重要,激励了电影制片人蒂姆·伯顿和插画家莱恩·史密斯等艺术家。|['菲利普·内尔']|
但结果是:
| 标题|说明|作者|
| --------------|--------------|--------------|
| 苏斯博士:美国偶像|“菲利普·内尔对苏斯的事业进行了引人入胜的研究--他的诗歌、政治、艺术、市场营销以及在大众想象中的地位。”“内尔令人信服地认为苏斯博士是美国最有影响力的诗人之一。他的无厘头的诗句|比如刘易斯·卡罗尔和爱德华·迪尔|
有办法处理这个案子吗?
我只是没有任何想法来处理这一点。这些数据来自一个大文件csv(3 m记录)。大多数记录有短或空的“描述”是正确的读取和其他人有错误的格式。

enyaitl3

enyaitl31#

Spark失败,因为你的字符串在csv中包含",添加.option("quote", "\"").option("escape", "\"")来解决它

相关问题