У меня проблема с данными, которые экспортируются из SAP.Иногда вы можете найти разрыв строки в тексте сообщения.То, что должно быть в одной строке, затем в двух, и это приводит к довольно плохому кадру данных.Самое неприятное, что я не могу предупредить панд об этой проблеме, она просто читает эти неправильные строки, даже если количество столбцов меньше, чем заголовок.
Пример неправильного data.txt:
MANDT~BUKRS~BELNR~GJAHR
030~01~0100650326
~2016
030~01~0100758751~2017
Вы видите, что первая строка имеет неправильный разрыв строки после 0100650326. 2016 принадлежит первой строке.Третья строка должна быть такой.
Если я импортирую этот файл:
data = pd.read_csv(
path_to_file,
sep='~',
encoding='latin1',
error_bad_lines=True,
warn_bad_lines=True)
Я получу это.Что не так:
MANDT BUKRS BELNR GJAHR
0 30.0 1 100650326.0 NaN
1 NaN 2016 NaN NaN
2 30.0 1 100758751.0 2016.0
Можно ли исправить неправильный разрыв строки или сказать пандам игнорировать строки, в которых количество столбцов меньше заголовка?
Просто, чтобы завершить его.Я хочу получить это:
MANDT BUKRS BELNR GJAHR
0 30 1 100650326 2016
1 30 1 100758751 2016
Я пытался использовать с открытым и заменить '\ n' (разрыв строки) на '' (ничего), но это приводит кодин файл лайнера.Это не предназначено.