У меня есть файл CSV, и я хочу создать фрейм данных с этим в py-spark, но не могу этого сделать, поскольку некоторые строки содержат данные со специальными символами, а половина его столбцов заключена в двойные кавычки. Ниже приведены данные и то, что я пробовал до сих пор.
sample_row
"ABG090D",2019-03-03 00:00:00.0000000,"A","some Data C\" AB01","Some Data","LOS","NEW",2019-04-11 00:00:00.0000000,"GHYTR","7860973478","0989","A",2019-03-03 00:00:00.0000000,"Y","N","N","N",1,"N","D016619",,"$,$#,&","Y",
"69901",,,,"FGF",89.00,"W",,"N","R","F",5.00,6.00,6.00,9.00,2.00,0,0,"9090",,"N",,,"1","N",,,"F",,2019-03-03 00:00:00.0000000,,,,,"N","A","N","N","N","N","N",,,,,,,"H",,,,,,,,,,"N","A","0","0","0",,0,0,0,0,0,0,0,"N","00","USA",
"C","I",0,,,,"FGF",0,,,"N","UOIU","5",,0,,0,0,,,"878","N",2019-04-11 09:44:00.0000000,"8980909","H",,,,"N","2","T","SomeData",
2020-03-12 09:24:52.0000000
В приведенных выше данных я сталкиваюсь с двумя основными проблемами:
1. "некоторые данные C \" AB01 " =>, поскольку они содержат backsla sh () и кавычки (") как часть данных.
2. "$, $ #, & " =>, поскольку он содержит запятую (,) как часть данных
df = spark.read.option("quote","\"").option("escape","\"").option("escape","\\").option("delimiter" , ",").option("ignoreLeadingWhiteSpace", "true").csv("/path/file.csv",customSchema)
С помощью приведенного выше кода я смог решить " некоторые данные C \ " AB01 ", но второй столбец ie. " $, $ #, & " создает здесь проблему.
Даже я пытался использовать ответ, приведенный ниже ссылка. Но это также не работает для меня. Как удалить двойные кавычки и дополнительный разделитель (и) с двойными кавычками файла TextQualifier в Scala