Как прочитать CSV с разделителями-запятыми, который имеет столбцы со встроенными запятыми в PySpark? - PullRequest
0 голосов
/ 20 октября 2019

Я пытаюсь прочитать CSV из корзины AWS S3, используя pyspark. Поскольку в моем CSV есть столбец со встроенными запятыми, он неправильно записывается в информационный кадр.

Моя версия Spark - 2.4.4. Цените любую помощь с этим.

Ниже приведен код.

url= "<url of the file from AWS S3>"
spark.sparkContext.addFile(url)
df = spark.read.option('header', 'true').csv(SparkFiles.get("drugsComTrain_raw.csv"), inferSchema=True, quote='\"', escape='\"',sep=",", timestampFormat="mm/dd/yy")

Вывод выглядит следующим образом.

+--------------------+----------+--------------------+--------------------+------+---------+-----------+
|            uniqueID|  drugName|           condition|              review|rating|     date|usefulCount|
+--------------------+----------+--------------------+--------------------+------+---------+-----------+
|              206461| Valsartan|Left Ventricular ...|"It has no side e...|     9|20-May-12|         27|
|               95260|Guanfacine|                ADHD|"My son is halfwa...|  null|     null|       null|
|We have tried man...|         8|           27-Apr-10|                 192|  null|     null|       null|

+--------------------+----------+--------------------+--------------------+------+---------+-----------+

Ниже приведен столбец со встроенными запятыми.

df.select("review").show(1,truncate=False)

+-------------------------------------------------------------------------------+
|review                                                                         |
+-------------------------------------------------------------------------------+
|"It has no side effect, I take it in combination of Bystolic 5 Mg and Fish Oil"|
+-------------------------------------------------------------------------------+
only showing top 1 row

df.select("uniqueID").show(5)

+--------------------+
|            uniqueID|
+--------------------+
|              206461|
|               95260|
|We have tried man...|
|               92703|
|The positive side...|
+--------------------+
only showing top 5 rows

uniqueID должен показывать только цифры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...