Un parser pentru Buletinele de Avizare Restrictii CFR
R
versiunea3.6+
sau mai mult (rulat pe4.0.3
).LibreOffice
instalat in asa fel incat comandasoffice
sa fie disponibila in$PATH
. MotorulLibreOffice
e chemat pentru un singur lucru, sa converteascadoc
indocx
. Pe un sistemLinux
, daca aveti LibreOffice, e disponbil automat; daca nu, folositi managerul dvs. de pachete (ex.apt-get install libreoffice
pe 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 Linux
pe care sa instalatiR
,curl
siLibreOffice
.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 Notebook
este furnizat. - La prima rulare,
R
isi 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
DOC
inDOCX
dureaza undeva la 1-1.5 minute (soffice
este lent). Citirea si parsarea documentului de catreR
dureaza, mai apoi, cateva minute (R
este lent). Nu opriti rularea, merge. - Scriptul va da
warning
acolo 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 coercion
se poate ignora fara probleme. - Scriptul va produce trei fisiere :
bar_extras.csv
sibar_extras.json
cu datele parsate sibar.docx
care 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 lambda
pe AWS, care sa porneasca afacerea pe 1,11 si 21 ale fiecarei luni. Cand am timp, adica niciodata. Daca vreti voi...