Un parser pentru Buletinele de Avizare Restrictii CFR
Rversiunea3.6+sau mai mult (rulat pe4.0.3).LibreOfficeinstalat in asa fel incat comandasofficesa fie disponibila in$PATH. MotorulLibreOfficee chemat pentru un singur lucru, sa converteascadocindocx. Pe un sistemLinux, daca aveti LibreOffice, e disponbil automat; daca nu, folositi managerul dvs. de pachete (ex.apt-get install libreofficepe sisteme Debian/Ubuntu). PeMacOS, folositi managerul de pachete Homebrew:brew install --cask libreoffice. Pe Windows, ar trebui sa functioneze cat timp puteti expune comanda soffice inPATH. Alternativ, puteti folosiWindows Subsystem for Linuxpe care sa instalatiR,curlsiLibreOffice.curl, orice versiune.
Nu necesita vreo forma de instalare.
- Tot ce trebuie sa faceti este sa rulati
Rscript CFR_BAR_extract.r. Alternativ, daca doriti rulare interactiva si debugging, un notebookJupyter Notebookeste furnizat. - La prima rulare,
Risi va instala dependintele folosind managerul de pachete intern si arhivaCRAN. Este posibil sa vi se solicite sa selectati un server de download: alegeti oricare server. Instalarea dependintelor poate dura cateva minute, si va afisa foarte mult output. Se va intampla doar la prima rulare. - Scriptul este relativ lent. Conversia
DOCinDOCXdureaza undeva la 1-1.5 minute (sofficeeste lent). Citirea si parsarea documentului de catreRdureaza, mai apoi, cateva minute (Reste lent). Nu opriti rularea, merge. - Scriptul va da
warningacolo unde intalneste un caz neimplementat, cel mai comun (adica in 4 locuri in tot BAR-ul) fiindfirul III, pe care-l umple cu NA-uri pentru ca CFR foloseste o forma de tabel incompatibila. MesajulNAs introduced by coercionse poate ignora fara probleme. - Scriptul va produce trei fisiere :
bar_extras.csvsibar_extras.jsoncu datele parsate sibar.docxcare este BAR-ul brut.
As said, este lent, dar cum trebuie sa ruleze de 3/luna, este ok. Parserul R de docx este foarte lent, si single core, si nu se poate prespecifica ce sa parseze, pentru ca tot documentul este esential. soffice e foarte lent la conversie si el. Pe sistemul meu, BAR Bucuresti e parsat in 6 min : 13 sec.63 dar YMMV (sistemul nu ar trebui sa conteze; a fost rulat pe un OSX cu 32 GB RAM si i9, dar e single-core si a folosit <400 MB RAM).
BAR-urile par editate manual de CFR. Desi exista cateva "fallbacks" implementate, pot aparea anumite probleme neprevazute care sa duca la crash. Faceti un issue sau anuntati pe forum.
- Facut sa descarce toate cele 8 BAR-uri si sa faca un singur mare document cu toate magistralele si liniile secundare. [EASY]
- O
functie lambdape AWS, care sa porneasca afacerea pe 1,11 si 21 ale fiecarei luni. Cand am timp, adica niciodata. Daca vreti voi...