Forum » Programiranje » GREL (OpenRefine)
GREL (OpenRefine)
poweroff ::
Z OpenRefine čistim neke podatke in sem naletel na težavo.
Imam več stolpcev, eden izmed njih je recimo "izdelek". Na podlagi tega stolpca bi rad naredil nov stolpec "izdelek 2" in sicer na naslednji način:
- če "izdelek" vsebuje besedo "električen" ali "digitalen" (ne glede na lowcase/uppercase), potem bi rad, da ima "izdelek2" vrednost "elektronska naprava"
- v nasprotnem primeru pa se ohrani vrednost obstoječega polja ("izdelek" se prepiše v "izdelek2")
Zadevo znam narediti na precej neumen način (Edit column, Add column based on this column in potem kot GREL izraz napišem value.contains('električen'). Če je temu pogoju zadoščeno, se v novem stolpcu pojavi "true", sicer "false". Zdaj zadevo izvozim v LibreOffice Calc, tam s formulami naredim nov stolpec (if ... then ...) in potem zadevo importam nazaj v OpenRefine.
Kot rečeno je to precej neumen postopek, verjetno se da precej bolj enostavno rešiti zadevo...?
Imam več stolpcev, eden izmed njih je recimo "izdelek". Na podlagi tega stolpca bi rad naredil nov stolpec "izdelek 2" in sicer na naslednji način:
- če "izdelek" vsebuje besedo "električen" ali "digitalen" (ne glede na lowcase/uppercase), potem bi rad, da ima "izdelek2" vrednost "elektronska naprava"
- v nasprotnem primeru pa se ohrani vrednost obstoječega polja ("izdelek" se prepiše v "izdelek2")
Zadevo znam narediti na precej neumen način (Edit column, Add column based on this column in potem kot GREL izraz napišem value.contains('električen'). Če je temu pogoju zadoščeno, se v novem stolpcu pojavi "true", sicer "false". Zdaj zadevo izvozim v LibreOffice Calc, tam s formulami naredim nov stolpec (if ... then ...) in potem zadevo importam nazaj v OpenRefine.
Kot rečeno je to precej neumen postopek, verjetno se da precej bolj enostavno rešiti zadevo...?
sudo poweroff
poweroff ::
OK, tole je delna rešitev:
if(value.contains('električen'), "elektronska naprava", value)
Problem je, da ne vem kako dodati pogoj ("električen" ali "digitalen") ter kako preveriti ne glede na lovwer/uppercase...
if(value.contains('električen'), "elektronska naprava", value)
Problem je, da ne vem kako dodati pogoj ("električen" ali "digitalen") ter kako preveriti ne glede na lovwer/uppercase...
sudo poweroff
xordie ::
Na github so definirane boolean funkcije kjer imas primer za OR.
Za "toLower" imas pa string funkcije
Mogoce bi slo nekaj takega:
Za "toLower" imas pa string funkcije
Mogoce bi slo nekaj takega:
if( or( toLowercase(value).contains('elektricen') , toLowercase(value).contains('digitalen')), "elektronska naprava", value)
x
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Kontakt obrazecOddelek: Izdelava spletišč | 2062 (1907) | betmen |
» | [Java]Listanje slikovnih datotek v izbranem direktorijuOddelek: Programiranje | 1136 (971) | illion |
» | Excel Težava - fukncijaOddelek: Pomoč in nasveti | 2500 (2193) | smetko |
» | [Excel]Kako izvleči vrednost?Oddelek: Programiranje | 3783 (3506) | Mobidick |
» | [Access] bolj napredni queryOddelek: Programiranje | 1258 (1096) | mHook |