Publish your project for free and start receiving offers from freelance contractors in serveral minutes after publication!

Парсинг данных из текстовых файлов

closed without completion
PHP


Добрый день.


У нас есть отчеты в PDF. Мы преобразовываем их с помощью OCR в текстовые файлы (txt) (эту часть делать не надо, мы даем вам готовые файлы для парсинга в формате TXT)


Далее нам необходимо считать данные из этих текстовых файлов по определенным шаблонам. Нам необходимо находить значения полей (например, плательщик, сумма счета, позиции, цена за позицию и т.п.) и запоминать их.


Всего у нас есть 10 типов отчетов (10 организаций, которые нам присылают отчеты). Проблема в том, что данные распознанные, то позиции полей в них могут меняться.


Задача сводится к написанию и настройке регулярок для каждого типа отчета


Примеры файлов по ссылке (pdf - это нераспознанный файл, txt - распознанный)


https://drive.google.com/open?id=0B2d5x25DVw-1M2gxS3JjeDJjaUk


Поля, которые необходимо парсить - в приложении (выделены красным).


Результат работы программы - мы посылаем POST с текстовым файлом, получаем JSON со спаршенными полями


[{Имя поля:значение, ....},....]



Пример файла парсинга (начальные поля) - предоставлю исполнителю.


$travellers1="#DISPUTES.*?CARRIER.(.*?)CLAIM NUMBER.(.*?)DATE OF INJURY.(.*?)BILL CONTROL NUMBER.(.*?)(DATE|PROVIDE)+.*?EOR GENERATED.(.*?)DATE OF BILL.(.*?)DATE BILL RECEIVED.(.*?)PATIENT#si";


$travellers2="#PROVIDER INQUIRY CONTACT.(.*?)NAIC/SELF INSURED NUMBER.(.*?)CLAIM PROFESSIONAL.(.*?)CLAIM PROFESSIONAL PHONE/FAX/EMAIL.(.*?)EMPLOYER.(.*?)(DATE|PROVIDE)+#si";


$travellers3="#PROVIDER:(.*?)(NATIONAL|TAX)+.*?ID NUMBER / FEIN:(.*?)(NATIONAL|JURISDICTIONAL)+#si";


$travellers4="#NATIONAL PROVIDER IDENTIFICATION NUMBER.(.*?)(PATIENT||)+#si";


 preg_match_all($travellers2, $content, $matches2);

 preg_match_all($travellers1, $content, $matches);

 preg_match_all($travellers3, $content, $matches3);

 preg_match_all($travellers4, $content, $matches4);



 for ($i=0; $i<sizeof($matches[0]); $i++)


 {


 echo"<h1>Case #".$i."</h1>";

 echo"<table>";

 echo"<tr><td><b>CARRIER:</b></td><td><input size=200 type=text value='".$matches[1][$i]."'></td></tr>";

 echo"<tr><td><b>CLAIM NUMBER: </b></td><td><input size=200 type=text value='".$matches[2][$i]."'></td></tr>";

 echo"<tr><td><b>DATE OF INJURY: </b></td><td><input size=200 type=text value='".$matches[3][$i]."'></td></tr>";

 echo"<tr><td><b>BILL CONTROL NUMBER: </b></td><td><input size=200 type=text value='".$matches[4][$i]."'></td></tr>";

 echo"<tr><td><b>PROVIDER INQUIRY CONTACT:</b></td><td><input size=200 type=text value='".$matches2[1][$i]."'></td></tr>";

 echo"<tr><td><b>NAIC/SELF INSURED NUMBER: </b></td><td><input size=200 type=text value='".$matches2[2][$i]."'></td></tr>";

 echo"<tr><td><b>CLAIM PROFESSIONAL: </b></td><td><input size=200 type=text value='".$matches2[3][$i]."'></td></tr>";

 echo"<tr><td><b>CLAIM PROFESSIONAL PHONE/FAX/EMAIL: </b></td><td><input size=200 type=text value='".$matches2[4][$i]."'></td></tr>";

 echo"<tr><td><b>EMPLOYER: </b></td><td><input size=200 type=text value='".$matches2[5][$i]."'></td></tr>";

 echo"<tr><td><b>DATE EOR GENERATED: </b></td><td><input size=200 type=text value='".$matches[6][$i]."'></td></tr>";

 echo"<tr><td><b>DATE OF BILL: </b></td><td><input size=200 type=text value='".$matches[7][$i]."'></td></tr>";

 echo"<tr><td><b>DATE BILL RECEIVED: </b></td><td><input size=200 type=text value='".$matches[8][$i]."'></td></tr>";

 echo"<tr><td><b>PROVIDER: </b></td><td><input size=200 type=text value='".$matches3[1][$i]."'></td></tr>";

 echo"<tr><td><b>TAX ID NUMBER / FEIN: </b></td><td><input size=200 type=text value='".$matches3[3][$i]."'></td></tr>";

 echo"<tr><td><b>NATIONAL PROVIDER IDENTIFICATION NUMBER: </b></td><td><input size=200 type=text value='".$matches4[1][$i]."'></td></tr>";




 echo"</table>";


 }


Applications 2

Only registered users can view attachments.

Make a proposal!

The client doesn't want to make prepayment? Offer him to make a payment via Safe to avoid possible fraud.

  1.  freelancer isn't working in the service any longer
  2.  freelancer isn't working in the service any longer
  3. proposal concealed by freelancer
  4.  2841 
    16   92   0

    2 days90 $

    Готов с Вами поработать. Имею опыт в парсинге. Контакты в профиле.

    С уважение, Василий Хлыстов! Telegram: https://t.me/khlystou

    Belarus Mogilev | 29 February 2016 |
  5.  freelancer isn't working in the service any longer
  6. 3 days7000 ₽
    Дмитрий Калиниченко
     540  verified   12   3

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

    Ukraine Sumy | 1 March 2016 |

Client
Евгений Рубан
Russia Moscow  1   0
Project published
29 February 2016
392 views