» »

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.

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

brodul ::

Python ali pa Java.

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.

Isotropic ::

Not A Number ::

PowerShell ni cross-platform. Ideja je bila tudi bash ...

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

blackbfm ::

php :)

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.
It is the night. My body's weak.
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

radiokills ::

Oh, please do tell more.

Not A Number ::

Tudi mene zanima malo več o tem ...


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

program za pomoč pri tiskanju 200+pdf dokumentov

Oddelek: Pomoč in nasveti
252281 (1333) HotBurek
»

(Java) Iskanje manjkajoči podatkov v tabeli

Oddelek: Programiranje
151050 (815) noraguta
»

Excel - seštevanje vrednosti brez upoštevanja besedila

Oddelek: Pomoč in nasveti
227720 (7365) arnecan1
»

Excel iskanje podvojenih vnosov

Oddelek: Pomoč in nasveti
186512 (5138) smetko
»

Excel-kopiranje vrstic, ki ustrezajo pogoju

Oddelek: Programska oprema
91303 (1184) _jackson_

Več podobnih tem