Как преобразовать несколько строк данных в таблице в одну строку, которая была извлечена через OCD? - PullRequest
0 голосов
/ 26 марта 2020

У меня есть PDF (прилагается), и он конвертируется в .txt с помощью OCR. Вывод OCR выглядит как

'2 VERFEN 100MCG NO11909 - Verve AMPO 1.00 47.70 0.00 47.70 47.70\n',

 'INJECTION 2ML 28/02/202 ULE\n',

 '(FENTANYL) 2 HEGCUNIE\n',

 'VERVE\n',

 '3 ADRENOR 4MG INABA294 AMPO 2.00 112.88 0.00 112.88 112.88\n',

 'INJECTION 2ML oe ULE\n',

 '(NORADRENALINE 31/08/202 HEGORINIE\n',

 ') SAMARTH 1\n',

 '4 CELHEP; 50001U; HP11941A Celon NOS 3.00 267.00 0.00 267.00 267.00\n',

 'INJECTION; \n',

 '(HEPARIN); 30/06/202 HEGGUNJE\n',

 'CELON 2\n',

enter image description here

И мне нужен вывод в этом формате

'2 VERFEN 100MCG INJECTION 2ML (FENTANYL) VERVE NO11909 - 28/02/2021 Verve AMPO ULE 1.00 47.70 0.00 47.70 47.70\n',


'3 ADRENOR 4MG INJECTION 2ML (NORADRENALINE) SAMARTH   INABA2942 -31/08/202 AMPO ULE 2.00 112.88 0.00 112.88 112.88\n',


'4 CELHEP; 50001U; INJECTION; (HEPARIN);  CELON   HP11941A 30/06/2022 Celon NOS 3.00 267.00 0.00 267.00 267.00\n',

В конце концов, мне нужно сохранить информацию о формате таблицы.

1 Ответ

0 голосов
/ 26 марта 2020

Это не оптимизированное решение.

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

регулярное выражение для определения числа в начале строки: ^'[0-9]{2,3,4}

регулярное выражение будет искать одно, два, три или четыре числа di git. Обратите внимание на пробел после }, который гарантирует, что мы смотрим на правильный шаблон. Это регулярное выражение будет работать для

'2 VERFEN 100MCG NO11909 - Verve AMPO 1.00 47.70 0.00 47.70 47.70\n',
'INJECTION 2ML 28/02/202 ULE\n',
'(FENTANYL) 2 HEGCUNIE\n',
'VERVE\n'

, но не для

'2 VERFEN 100MCG NO11909 - Verve AMPO 1.00 47.70 0.00 47.70 47.70\n',
'INJECTION 2ML 28/02/202 ULE\n',
'(FENTANYL) \n',
'2 HEGCUNIE\n',
'VERVE\n'

Два 2 будут рассматриваться отдельно.

Ваша логика c в коде может выглядеть примерно так -

  1. Объявить временную строковую переменную
  2. Выполнить 3-5 до конца файла
  3. Чтение каждой строки в файле
  4. Если шаблон соответствует строке , то 1. записать временную строковую переменную в новый файл, 2. очистить временную строковую переменную .
  5. Удалите \n,' с конца и объедините строку во временную строковую переменную

Возможно, вы захотите обработать первую запись в файл, если вы не хотите, чтобы первая строка как пустой.

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