фрейм данных pyspark, возвращающий разные символы \ "\" вместо нулей - PullRequest
0 голосов
/ 21 февраля 2020

Я читал исправленное с файлом из файла oop, делал substr и преобразовывал его в файл с разделителями. Код работает нормально, но вместо пустых значений в случае нуля он возвращает \ "\". Не могли бы вы предложить?

фрагмент

df.select(
df.value.substr(31, 1).alias('status'),
df.value.substr(32, 1).alias('tin_cert'),
df.value.substr(116, 1).alias('c_notice_flg'),
df.value.substr(117, 2).alias('nbr_non_prime_trlrs'),
df.value.substr(119, 3).alias('aw_related')
).write.option("delimiter", "|").csv(unixFile)

output

| \ "\" | 0 | N | 00 | \ "\" | 199 |

желаемый вывод

|| 0 | N | 00 || 199 |

без кавычек во входном файле

000000000014999999999 281AAAA AAAAAAA AAAA 1NN00
000000000024 200BBBBBB BBBBBBBBBBBBBBBBB 0NN00
000000000034 200 0NN00
000000000044 200 0NN00

1 Ответ

0 голосов
/ 24 февраля 2020

Я думаю, что экранированные кавычки добавляются из-за аргументов по умолчанию для метода pyspark.sql.DataFrameWriter.csv. Фактически, как вы можете видеть из цитаты docs :

- задает один символ, используемый для экранирования значений в кавычках, где разделитель может быть частью значения. Если установлено значение «Нет», используется значение по умолчанию ". Если задана пустая строка, используется u0000 (нулевой символ).

escape - устанавливает один символ используется для экранирования кавычек внутри уже заключенного в кавычки значения. Если значение None установлено, используется значение по умолчанию: \

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