Неверный датафрейм из spark.read.format ('csv') - PullRequest
0 голосов
/ 25 апреля 2020

Я использую следующее для чтения файла csv как фрейма данных в pyspark

DF=spark.read.format('csv').option("header", "true").load("data.csv")

Для большинства файлов он работает идеально, но в некоторых я получаю ошибки.

ожидаемый фрейм данных

 id    name    code    remarks                 code2       code3
1001   abc     123     1. this is remark 1     12            1
                       2. this is remark 2
1002   def     234     no remarks              23            2

неправильный фрейм данных

 id                    name    code    remarks               code2        code3
1001                   abc     123     1.this is remark 1     null         null
2.this is remark 2     12       1      null                   null         null
1002                   def     234     no remarks             23             2

Обратите внимание, что исходные данные имеют много столбцов. Поэтому я хочу избежать предоставления пользовательской схемы. Если я открою файл в MS Excel, у него не будет этой проблемы.

Как я могу исправить эту проблему, чтобы получить ожидаемый фрейм данных?

1 Ответ

0 голосов
/ 25 апреля 2020

Это была общая проблема, с которой сталкиваются все, когда используют инструменты, похожие на билайн.

Но на фактический фрейм данных это не влияет. вы можете проверить с помощью df.count () == 2, а не 3.

вы можете попробовать это

выбрать идентификатор, имя, код, regexp_replace (примечания, '\\ n ', ""), code2, code3 from;

. Эти данные будут встроены.

Надеюсь, это поможет !!!

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