## Functio laske_summa_ja_tallenna() laskee useasta csv-tiedostosta haettujen lukujen summan ja
## tallentaa tämän summan erilliseen tiedostoon
##
## CSV-data on esimerkiksi tiedostossa file test_1.csv
## Yksi tämän tiedoston rivi koostuu päivämäärästä ja kokonaisluku
## eli esimerkiksi
## 04.11.2012,1000
##
## Luo kaksi csv-tidostoa test_1.csv and test_2.csv
## Tiedoston test_1.csv sisältö on:
## 12.10.2012,4500
## 04.11.2012,1000
## 29.01.2012,2500
## 04.11.2012,4000
##
## Tiedoston test_2.csv sisältö on:
## 17.04.2012,1000
## 04.11.2012,5000
## 09.02.2012,4500
## 12.04.2012,4000
##
##===>
##===> Lasketaan tähän päivään (04.11.2012) liittyvien lukujen summa
##===>
##
## Voit kahdella tavalla suoritaa ohjelman:
## "filedialog" - method --> käyttäjää pyytetään antamaan tiedostojen lukumäärä ja tämän jälkeen tiedostojen nimet (d)
## "files are given in this code" - method --> tiedostojen nimet ovat tässä koodissa (f)
##
def laske_summa_ja_tallenna():
method = input("Kumpi metodi: dialog(d) tai file included(f) ")
#### Method: filedialog
if(method == 'd'):
print("Method: filedialog")
import tkinter.filedialog
file_count = 0
## Give the number of files
file_count = input("How many files you have ")
file_count = int(file_count)
print("=====>Tiedostoja ", file_count," kappletta")
sum = 0
while file_count > 0:
al_filename = tkinter.filedialog.askopenfilename()
file = open(al_filename, "r")
file_sum = 0
for line in file:
comma_pos = line.find(",")
time_stamp = line[0:comma_pos]
data = line[comma_pos + 1:].rstrip("\n")
if(time_stamp[0:2] == '04'):
print("4th Day - ", time_stamp, data)
file_sum = file_sum + int(data)
file_count = file_count - 1
file.close()
sum = sum + file_sum
print("Sum in file ",al_filename, " is ", sum)
print("\nsum is ", sum)
#### Method: files included in script
if(method == 'f'):
print("Method: files are given in this code")
## files are in a list
file_lst = ['test_1.csv', 'test_2.csv']
sum = 0
for i in range(0, len(file_lst)):
file_name = file_lst[i];
file = open(file_name, "r")
for line in file:
comma_pos = int(line.find(","))
time_stamp = line[0:comma_pos]
data = line[comma_pos + 1:].rstrip("\n")
if(time_stamp[0:2] == '04'):
print("4th Day - ", time_stamp, data)
sum = sum + int(data)
file.close()
print("Sum is ", sum)
## Save today's sum in a file
file_name = "save_sum.txt"
fn = open(file_name, "w")
fn.write(str(sum))
fn.close()
print("\n===========> Summa tallennettu tiedostoon save_sum.txt <============")Aihe on jo aika vanha, joten et voi enää vastata siihen.