Pitäisi kerran minuutissa saada luettua tiedostosta rivi, ja tallentaa tätä tietoa csv tietoihin niin että halutessaan saa helposti tarkasteltua tuloksia esim. Excelillä.
Miten onnistuu?
Tiedostosta luettava tieto on muodossa
t=
Arvo pitää jakaa tonnilla (1000) ennen käyttöä.
Luin jostain crontab anagron jutuista mutta menevät yli hilseen.
Miten onnistuu?
Tiedostosta luettava tieto on muodossa
t=
Arvo pitää jakaa tonnilla (1000) ennen käyttöä.
Luin jostain crontab anagron jutuista mutta menevät yli hilseen.
Vastaukset 10
Vanhimmat
Suoli24 näköjään poisti tekstiä.
Luettava arvo on muodossa
t=xxxxx jossa x:t ovat numeroita.
Cronilla voit ajastaa tehtäviä suoritettavaksi automaattisesti.
https://help.ubuntu.com/community/CronHowto
Onko luettavassa tiedostossa enemmänkin rivejä vai pelkästään tuo yksi tieto? Ja minkä muotoiseen CSV-tiedostoon se pitää kirjoittaa? Jos siinä on vain yksi tieto niin onko mitään järkeä viedä sitä edes exceliin?
Jos tiedosto on noin simplleki kuin sanot niin voit tehdä sen suoraan bash skriptinä. Jos vähänkään monimutkaisempi niin python olisi erinomainen työkalu siihen ja löytyy todennäköisesti oletuksena.
Siis, siinä tiedostossa on muutama rivi, joiden seassa on sitten se tarvittava tieto muodossa t=xxxxx.
Sitä tiedostoa (tai siitä tiedostosta) pitäisi saada otettua se tieto, jakaa se 1000:lla että saadaan järkevää arvoa ulos, ja laittaa se CSV tiedostoon josta saisi nätin taulukon exceliin niin että voi tehdä graafisia kuvioita. CSV muodoista ei ole hajua.
Tarkoituksena on kerran minuutissa ottaa se arvo ja tallentaa se siihen tiedoston jatkoksi, ei siis uutta tiedostoa.
Vaikea selittää...
CSV Tiedosto ekan minuutin jälkeen:
xx.xxx
CSV Tiedosto viiden minuutin jälkeen:
xx.xxx
xx.xxx
xx.xxx
xx.xxx
xx.xxx
Jotain tuon tyylistä olisi tarkoitus saada aikaiseksi.
CSV tulee sanoista "Comma Separated Values" eli pilkulla erotetut arvot. Eli se on tekstipohjainen tiedostomuoto joka tukee taulukkomuotoista dataa pilkulla (tai jollain toisella välimerkillä eroteltuna). Tässä ei tarvita CSV:tä koska jokaiselle riville tulee vain yksi arvo.
Kirjoitetaanko se input tiedosto aina yli vai tuleeko sinne kokoajan lisää tauhkaa loppuun?
Loppuun pitäisi lisätä tavaraa.
CSVtä olen aikonut käyttää koska se on minun tietääkseni yhteensopiva excelin kanssa.
Tarkoitan että input tiedosto koko ajan päivittyy, ja CSV tiedoston loppuun pitäisi lisätä tavaraa.
Testaa tuolla
http://pastebin.com/PtCi3yZb
Testattu windowzessa python 2.7 sekä 3.3. Pitäisi periaatteessa toimia linuxissa mutta en voi juuri nyt testata.
Aja ensin manuaalisesti ja katso tekeekö mitä pitää. Sitten laita cron jobi suorittamaan se automaagisesti
Pikku puki löytui heti! Muuta kohta "if value:" muotoon "if value is not None:"
Muuten se jättää mahdolliset 0 arvot viemättä
Excelin CSV -toteutus on epästandardi.
"CSV tulee sanoista "Comma Separated Values" eli pilkulla erotetut arvot"
juuri näin !
Mutta Excelillehän tuo EI kelpaa.
Sensijaan, jotta Excel ymmärtäisi tiedon oikein, niin pitää olla
CSV:n sijasta SCSV, eli "SemiColon Separated Values", tiedostonimeksi siis vaikkapa:
excelimport.csv
Eli Excel ymmärtää vain, kun tietorivi on tällainen:
arvo1;arvo2;arvo3;"merkkijonon sisältävä arvo, jossa voi olla myös pilkku, välilyöntejä jne";arvo5
man sleep
man bash