Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding feature of getting company's business scope from business registry to output (ARES) #218

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

sedmar
Copy link

@sedmar sedmar commented Sep 8, 2022

Pridani schopnosti zpracovat pri parsovani ARESu pole predmet cinnost a predmet podnikani. Do vystupniho csv je pridan sloupec "cinnosti" kde v kazdem radku je json dictionary s klici PredmetPodnikaniText a PredmetCinnostiText. Hodnoty u kazdeho klice jsou strednikem oddelene predmety cinnosti pripadne predmety podnikani (muze byt 0 nebo N).

@kokes
Copy link
Owner

kokes commented Sep 8, 2022

Ahoj, díky za PR!

  1. Ten timestamp u csv exportu se mi líbí, často se mi stává, že si přemažu starý exporty. Asi by to mělo být separé PR, ale tady to asi nevadí, protože nemám moc námitek
  2. K těm činnostem... hele, já bych je tam klidně měl, ale nejsem moc fanda hodně složitých datových JSON struktur v rámci jednoho sloupce. a) blbě se to dotazuje (je to samý UNNEST, split na středník a pak zpátky atd.), b) dost to navyšuje velikost řádku a tím pádem cache efficiency při dotazování. Navíc v tomhle případě jde o docela tučný element, takže já bych se vůbec nebránil nové tabulce. Navíc se to pak obejde bez nových funkcí pro extrakci dat. Svůj nástřel dávám zde (chybí tam aktualizace schema.py, ale to je triviální).
diff --git a/data/ares/main.py b/data/ares/main.py
index 8ff002f..9a96cff 100644
--- a/data/ares/main.py
+++ b/data/ares/main.py
@@ -87,10 +87,13 @@ def remote_data(partial):
 def main(outdir: str, partial: bool = False):
     with open(os.path.join(outdir, "firmy.csv"), "w", encoding="utf8") as ud, open(
         os.path.join(outdir, "fosoby.csv"), "w", encoding="utf8"
-    ) as fo, open(os.path.join(outdir, "posoby.csv"), "w", encoding="utf8") as po:
+    ) as fo, open(os.path.join(outdir, "posoby.csv"), "w", encoding="utf8") as po, open(
+        os.path.join(outdir, "cinnosti.csv"), "w", encoding="utf8"
+    ) as co:
         udc = csv.writer(ud, lineterminator="\n")
         foc = csv.writer(fo, lineterminator="\n")
         poc = csv.writer(po, lineterminator="\n")
+        coc = csv.writer(co, lineterminator="\n")
 
         cols = [
             "zdroj",
@@ -133,6 +136,13 @@ def main(outdir: str, partial: bool = False):
                 "adresa",
             ]
         )
+        coc.writerow(
+            [
+                "ico",
+                "typ_cinnosti",
+                "text",
+            ]
+        )
 
         for rw, (el, fl) in enumerate(remote_data(partial)):
             et = lxml.etree.fromstring(fl)
@@ -203,6 +213,13 @@ def main(outdir: str, partial: bool = False):
                 for j in org["posoby"]:
                     poc.writerow(j)
 
+            for txt in vypis.iterfind(
+                ".//are:Cinnosti/*/are:Text", namespaces=et.nsmap
+            ):
+                text = txt.text.strip()
+                ctype = txt.getparent().tag.rpartition("}")[-1]
+                coc.writerow([ico, ctype, text])
+
 
 if __name__ == "__main__":
     main(".")

Celý soubor bez diffu je tady: https://gist.github.com/kokes/c2f155c26a03ac93a50fe7e52e7a15a4

Co myslíš?

@sedmar
Copy link
Author

sedmar commented Sep 13, 2022

Ahoj, sorry za zpozdeni, ted jsem zkousel to tvoje navrhovane reseni a libi se mi vic, z pohledu datovych struktur je to asi i cistsi nez to moje.

@sedmar sedmar mentioned this pull request Feb 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants