Forum » Programiranje » Kateri jezik za cross-platform csv parser
Kateri jezik za cross-platform csv parser
Not A Number ::
Rad bi si sprogramiral en dokaj preprost csv parser, ki bi naredil sledeče (psevdo-kod poteka):
0) Prebere csv datoteko
1) Zbrise vrstice 1-9
2) Zbrise stolpce 2,3,4,8,9
3) Vstavi nov prazen stolpec med stolpca 2 in 3
4) Če obstaja tekst v stolpcu 7 (glede na trenutno novo razvrstitev stolpcev), ga izreže in pripoji k tekstu v stolpcu 6 (za vsako vrstico)
5) V 1. vrstico zapiše headerje, ki so definirani vnaprej (recimo S1, S2, S3, S4, S5, S6)
6) Poišče vrstice, ki imajo enak tekst v stolpcu S6 (išče samo po stolpcu). Nato iz teh rezultatov poišče vse vrstice, ki imajo enak tekst v stolpcu S2. Za najdene vrstice sešteje vrednosti v stolpcu S3 in to vrednost zapiše v zadnjo najdeno vrstico. Vse vrstice pred tem izbrise.
7) Iz vnaprej definirane tabele zamenjav poišče določen tekst v stolpcu S2 in ga zamenja z drugim ustreznim tekstom. Če se lahko za iskanje teksta uporabi Regex je to velik plus, ni pa obvezno.
8) Podobno kot 8, le da za drug stolpec z drugo tabelo zamenjav.
9) Iz vnaprej definirane tabele išče določene vzorce teksta v stolpcu S2 (spet je tukaj uporaba Regex plus) in v najdeni vrstici doda ustrezen tekst iz tabele v stolpec S3.
10) Shrani v csv.
Iščem programski jezik ali orodje, ki bi ustrezal mojim naslednjim željam:
- Cross-platform (windows, linux) s čim manj potrebnimi knjižnicami, itd, ... se pravi, da za razvoj in poganjanje ni treba na operacijski sistem instalirati cel kup stvari. Manj je bolje.
- Dokaj enostavna sintaksa za naučit na novo. Programiram sicer že več let, ampak v LabVIEW (industrijske meritve in strojni vid). Svoj čas sem delal tudi v C-ju, ampak spet samo za mikrokrmilnike, nič objektnega.
- Gui ni potreben.
- Free. Open-source je plus.
Moja trenutna kandidata sta:
A) python
B) makroji v LibreOffice Calc-u
Zanima me predvsem, če obstaja kaj bolj namenskega za to oz. vaše izkušnje z opcijo A ali B. Vsakega predloga bom vesel.
Opomba: Zadevo bi (zaradi navajenosti) v LabVIEW sprogramiral smešno hitro, ampak ta rešitev je malo overkill in ne zadosti niti enemu pogoju. Poleg tega bi se rad naučil še kaj drugega - za zabavo.
0) Prebere csv datoteko
1) Zbrise vrstice 1-9
2) Zbrise stolpce 2,3,4,8,9
3) Vstavi nov prazen stolpec med stolpca 2 in 3
4) Če obstaja tekst v stolpcu 7 (glede na trenutno novo razvrstitev stolpcev), ga izreže in pripoji k tekstu v stolpcu 6 (za vsako vrstico)
5) V 1. vrstico zapiše headerje, ki so definirani vnaprej (recimo S1, S2, S3, S4, S5, S6)
6) Poišče vrstice, ki imajo enak tekst v stolpcu S6 (išče samo po stolpcu). Nato iz teh rezultatov poišče vse vrstice, ki imajo enak tekst v stolpcu S2. Za najdene vrstice sešteje vrednosti v stolpcu S3 in to vrednost zapiše v zadnjo najdeno vrstico. Vse vrstice pred tem izbrise.
7) Iz vnaprej definirane tabele zamenjav poišče določen tekst v stolpcu S2 in ga zamenja z drugim ustreznim tekstom. Če se lahko za iskanje teksta uporabi Regex je to velik plus, ni pa obvezno.
8) Podobno kot 8, le da za drug stolpec z drugo tabelo zamenjav.
9) Iz vnaprej definirane tabele išče določene vzorce teksta v stolpcu S2 (spet je tukaj uporaba Regex plus) in v najdeni vrstici doda ustrezen tekst iz tabele v stolpec S3.
10) Shrani v csv.
Iščem programski jezik ali orodje, ki bi ustrezal mojim naslednjim željam:
- Cross-platform (windows, linux) s čim manj potrebnimi knjižnicami, itd, ... se pravi, da za razvoj in poganjanje ni treba na operacijski sistem instalirati cel kup stvari. Manj je bolje.
- Dokaj enostavna sintaksa za naučit na novo. Programiram sicer že več let, ampak v LabVIEW (industrijske meritve in strojni vid). Svoj čas sem delal tudi v C-ju, ampak spet samo za mikrokrmilnike, nič objektnega.
- Gui ni potreben.
- Free. Open-source je plus.
Moja trenutna kandidata sta:
A) python
B) makroji v LibreOffice Calc-u
Zanima me predvsem, če obstaja kaj bolj namenskega za to oz. vaše izkušnje z opcijo A ali B. Vsakega predloga bom vesel.
Opomba: Zadevo bi (zaradi navajenosti) v LabVIEW sprogramiral smešno hitro, ampak ta rešitev je malo overkill in ne zadosti niti enemu pogoju. Poleg tega bi se rad naučil še kaj drugega - za zabavo.
ales85 ::
Če se odločaš med Python in macro (v čemer koli), potem vsekakor Python. Zadevo lahko narediš povsem brez zunanjih knjižnic (Python CSV) ali pa povsem po meri in bo res prenosljivo.
Nublet ::
Če iščeš lightweight multi-platform programski jezik je Lua dobra izbira. Je zastonjski in mislim da core knjižnica že vsebuje vse metode za transformacijo znakov.
Če te zanima več:
Lua
Če te zanima več:
Lua
brodul ::
Python ali pa Java.
Python ima ze built-in reader writer za CSV.
https://docs.python.org/2/library/csv.h...
Python ima ze built-in reader writer za CSV.
https://docs.python.org/2/library/csv.h...
Pretending to be a mature adult is so exhausting.
Not A Number ::
@Nublet: Lua sem pogledal, ampak mi je sintaksa videti zelo "grda" - če se tako izrazim. Je pa vseeno dober predlog, ki ga prej nisem poznal.
Python je zaenkrat še vedno favorit.
Python je zaenkrat še vedno favorit.
krneki0001 ::
ruby
Asrock X99 Extreme 4 | Intel E5-2683V4 ES | 64GB DDR4 2400MHz ECC |
Samsung 250GB M.2 | Asus 1070 TI | 850W Antec | LC Tank Buster
Samsung 250GB M.2 | Asus 1070 TI | 850W Antec | LC Tank Buster
terryww ::
spletno stran kjer uporabnik uploada csv. deluje tud na iphonu in na backendu lahko potem v labviewu ženeš regex.
mogoče pa že google sheets podpira takšne makrote.
mogoče pa že google sheets podpira takšne makrote.
It is the night. My body's weak.
I'm on the run. No time to sleep.
I'm on the run. No time to sleep.
Zgodovina sprememb…
- spremenil: terryww ()
radiokills ::
Go. Out of the box cross compile. Kompajla se hitro. Dobiš 1 binary (per platform) v katerem je vse.
blackbfm ::
Kompajlal smo 15 let nazaj na windowsih.. Danes tega ni treba vsaj ne za tak tip programov
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | program za pomoč pri tiskanju 200+pdf dokumentovOddelek: Pomoč in nasveti | 2281 (1333) | HotBurek |
» | (Java) Iskanje manjkajoči podatkov v tabeliOddelek: Programiranje | 1050 (815) | noraguta |
» | Excel - seštevanje vrednosti brez upoštevanja besedilaOddelek: Pomoč in nasveti | 7720 (7365) | arnecan1 |
» | Excel iskanje podvojenih vnosovOddelek: Pomoč in nasveti | 6512 (5138) | smetko |
» | Excel-kopiranje vrstic, ki ustrezajo pogojuOddelek: Programska oprema | 1303 (1184) | _jackson_ |