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. 4 days14000 ₽
    Антон Г.
     242  verified 

    Выполню.
    На выходе будет уже в json.

    Russia Moscow | 29 February 2016 |
  2.  freelancer isn't working in the service any longer
  3. proposal concealed by freelancer
  4.  1138 
    10   31   0

    2 days90 $

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

    PS: работаю только через "сейф" или по предоплате (30%) Viber: +375295470863 Skype & Telegram: khlystou

    Belarus Mogilev | 29 February 2016 |
  5. 12 days7000 ₽
    Богдан Сіренко
     520  verified   7   2

    Мой скайп: sbtasm. Готов выполнить.

    Ukraine Poltava | 29 February 2016 |
  6. 3 days7000 ₽
    Дмитрий Калиниченко
     540  verified   12   3

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

    Ukraine Sumy | 1 March 2016 |

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