Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/29: Рейтинг темы: голосов - 29, средняя оценка - 4.86
187 / 14 / 0
Регистрация: 23.05.2016
Сообщений: 77

Вывести сумму значений полей строк сsv-файла

29.07.2016, 10:18. Показов 6425. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! На Питон 3 возникла вот такая задачка. Есть csv файл, где данные записаны в строчку. Мне нужно, чтобы при открытии этого файла, питон выводил сумму всех строк данного файла на экран (нужны суммы только последних чисел - 2000.00, 3000.00, 3000.00). Файл может пополняться новыми строками. Если не сложно, можно сделать еще вариант с графическим интерфейсом, где будет одна кнопка "Открыть csv файл" и при его открытии будет печататься сумма строк. Спасибо. Файл прикрепляю.
Вложения
Тип файла: rar 223.rar (172 байт, 13 просмотров)
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.07.2016, 10:18
Ответы с готовыми решениями:

Вывести из базы данных сумму значений полей одного столбца.
Нужно вывести из базы данных сумму значений полей одного столбца... Например, в бд "db1" есть таблица glav, есть столбец...

Вывести матрицу на экран и найти сумму наибольших значений элементов её строк
Уважаемые форумчане, помогите пожалуйста с решением задачи.%-) Дана действительная матрица размера m×n. Вывести матрицу на экран....

Найти сумму значений строк из txt файла Python и создать новый файл с сортировкой
Здравствуйте, нужна помощь с кодом Python. Задания: 1) Написать программу, которая находить сумму выпущенных специалистов вот...

10
20 / 21 / 6
Регистрация: 30.06.2015
Сообщений: 431
29.07.2016, 12:04
Smart31, здесь смотрели?! ответ не устроил?!
0
2 / 2 / 1
Регистрация: 04.05.2013
Сообщений: 25
29.07.2016, 13:16
Лучший ответ Сообщение было отмечено Marinero как решение

Решение

Без GUI будет так:
Python
1
2
3
4
5
import csv
csvreader = csv.reader(open("223.csv"),delimiter=';')
sum = 0
for row in csvreader:
    sum = sum + float(row[4])
GUI все еще надо?)
0
187 / 14 / 0
Регистрация: 23.05.2016
Сообщений: 77
29.07.2016, 13:38  [ТС]
Да. Если не сложно, GUI, пожалуйста, тоже.
0
2 / 2 / 1
Регистрация: 04.05.2013
Сообщений: 25
29.07.2016, 13:39
Smart31, если надо,чтобы выводило по-красоте,поправь сам.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import csv
from tkinter import *
 
class CsvApplaication(Frame):
    def __init__(self,root):
        super(CsvApplaication,self).__init__(root)
        self.grid()
        self.widgets()
    def widgets(self):
        self.tyk = Label(self,text="Press button")
        self.tyk.grid(row = 1, column = 1, sticky = W)
        self.knopka = Button(self, text="Тык",command=self.out)
        self.knopka.grid()
    def out(self):
        csvreader = csv.reader(open("223.csv"),delimiter=';')
        sum = 0
        for row in csvreader:
            sum = sum + float(row[4])
        self.sum = Label(self,text="Sum is: " + str(sum))
        self.sum.grid(row = 2, column = 1, sticky = W)
 
 
root = Tk()
root.title("csv")
root.geometry("100x100")
app = CsvApplaication(root)
root.mainloop()
0
187 / 14 / 0
Регистрация: 23.05.2016
Сообщений: 77
29.07.2016, 16:25  [ТС]
Да этот код работает. Но он заточен только под определенный файл. Для повседневного использования не удобно. А можно сделать меню "Файл-открыть", потом найти на компьютере нужный csv файл и посмотреть его сумму? Я в этих делах новичок, заранее извиняюсь.
0
2 / 2 / 1
Регистрация: 04.05.2013
Сообщений: 25
29.07.2016, 17:04
Smart31, у всех csv будет такой же формат,как у приаттаченной в первом сообщении или возможны другие варианты?
0
187 / 14 / 0
Регистрация: 23.05.2016
Сообщений: 77
31.07.2016, 09:27  [ТС]
Arti-noob, да, формат у всех одинаковый. Структура одинаковая, просто могут добавляться новые строчки.
0
187 / 14 / 0
Регистрация: 23.05.2016
Сообщений: 77
02.08.2016, 12:58  [ТС]
Слепил я программу для просмотра суммы. Но вот только есть один вопрос, сумма выводится только по нажатию кнопки, а как сделать так, чтобы сумма выводилась сразу после открытия файла? Код прикрепляю

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
from tkinter import *
from tkinter.filedialog import *
import fileinput
 
FILEOPENOPTIONS = dict(defaultextension='.csv',
                       filetypes=[('csv and txt files','*.csv *txt'),('csv file','*.csv'),('txt file','*.txt'), ('All files','*.*')])
 
def _open():
     op = askopenfilename(**FILEOPENOPTIONS)
     global op
 
def about():
     win = Toplevel(root)
     lab = Label(win,text="Автор программы ")
     lab2 = Label(win,text="2016 год")
     lab.place(x=7,y=0)
     lab2.place(x=7,y=20)
     win.geometry("320x50")
 
root = Tk()
 
 
 
def output(event):
    try:
        import csv
        csvreader = csv.reader(open(op),delimiter=';')
        sum = 0
        for row in csvreader:
         sum = sum + float(row[4])
         global sum
         label_.configure(text=round(sum,2))
    except:
        label_.configure(text='Некорректный файл')
 
 
 
m = Menu(root)
root.config(menu=m)
 
 
 
fm = Menu(m)
m.add_cascade(label="Файл",menu=fm)
hm = Menu(m) #второй пункт меню
m.add_cascade(label="Справка",menu=hm)
fm.add_command(label="Открыть...",command=_open)
hm.add_command(label="О программе",command=about)
 
 
 
lab=Label(root,text='Сумма файла, рублей:',font="Arial 12")
label_ = Label(root,font="Arial 14")
label_.place(x=10,y=25)
lab.place(x=10,y=0)
 
but = Button(root,text="Рассчитать",width=10,height=1)
but.place(x=110,y=60)
but2 = Button(root,text="Открыть",width=10,height=1, command = _open)
but2.place(x=10,y=60)
 
but.bind("<Button-1>",output)
 
 
 
 
root.geometry("200x90")
root.mainloop()
0
2 / 2 / 1
Регистрация: 04.05.2013
Сообщений: 25
02.08.2016, 14:38
Smart31, твой же код с небольшой корректировкой:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
from tkinter import *
from tkinter.filedialog import *
import fileinput
 
FILEOPENOPTIONS = dict(defaultextension='.csv',
                       filetypes=[('csv and txt files','*.csv *txt'),('csv file','*.csv'),('txt file','*.txt'), ('All files','*.*')])
 
def _open():
     global op
     op = askopenfilename(**FILEOPENOPTIONS)
     
     try:
        import csv
        csvreader = csv.reader(open(op),delimiter=';')
        global sum
        sum = 0
        for row in csvreader:
         sum = sum + float(row[4])
         label_.configure(text=round(sum,2))
     except:
        label_.configure(text='Некорректный файл')
 
def about():
     win = Toplevel(root)
     lab = Label(win,text="Автор программы ")
     lab2 = Label(win,text="2016 год")
     lab.place(x=7,y=0)
     lab2.place(x=7,y=20)
     win.geometry("320x50")
 
root = Tk()
 
 
 
def output(event):
    try:
        import csv
        csvreader = csv.reader(open(op),delimiter=';')
        global sum
        sum = 0
        for row in csvreader:
         sum = sum + float(row[4])
         label_.configure(text=round(sum,2))
    except:
        label_.configure(text='Некорректный файл')
 
 
 
m = Menu(root)
root.config(menu=m)
 
 
 
fm = Menu(m)
m.add_cascade(label="Файл",menu=fm)
hm = Menu(m) #второй пункт меню
m.add_cascade(label="Справка",menu=hm)
fm.add_command(label="Открыть...",command=_open)
hm.add_command(label="О программе",command=about)
 
 
 
lab=Label(root,text='Сумма файла, рублей:',font="Arial 12")
label_ = Label(root,font="Arial 14")
label_.place(x=10,y=25)
lab.place(x=10,y=0)
 
 
but2 = Button(root,text="Открыть",width=10,height=1, command = _open)
but2.place(x=10,y=60)
 
 
 
 
 
 
root.geometry("200x90")
root.mainloop()
1
187 / 14 / 0
Регистрация: 23.05.2016
Сообщений: 77
03.08.2016, 13:56  [ТС]
Arti-noob, Спасибо. Код рабочий. Еще такой вопрос, можно ли добавить в этот скрипт возможность также просматривать общую сумму строк в dbf файле. Прикрепляю dbf файл. Интересует сумма столбца FULLSUM.
Вложения
Тип файла: rar dbf.rar (290 байт, 4 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.08.2016, 13:56
Помогаю со студенческими работами здесь

Найти сумму элементов строк матрицы [A], размером NxM. Вывести на печать исходную матрицу и сумму строк.
Найти сумму элементов строк матрицы , размером NxM. Вывести на печать исходную матрицу и сумму строк.

Найти: Сумму компонент файла f. Записать эту сумму в конец файла. Отсортировать файл по возрастанию значений
Помогите, пожалуйста. Дан файл f, компоненты которого являются действительными числами. Найти: Сумму компонент файла f. Записать эту...

Получить сумму значений из полей
Доброго времени суток. Нужна помощь, мне надо сложить 2 переменных rezultat1 и rezultat. Пробовал через Jqerry но выдает ошибку ...

Создать два файла в одном записать строки , а во второй вывести сумму длин самой длинной и k-й строк
Задача с использованием структуры «текстовый файл» (в файле хранится текст) Создать два файла в одном записать строки , а во второй...

Найти сумму наибольших значений строк и произведение наименьших значений столбцов матрицы
Дана действительная матрица размера MxN. Найти сумму наибольших значений элементов ее строк, а также произведение наименьших элементов ее...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru