## 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.