Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 7, 2015 10:50:13

garry
Зарегистрирован: 2015-01-07
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Работа с csv файлами

Всем доброго дня!

Прошу помощи в решении задания
Введите в программу следующие проверки:
◦если файла нет, выведите сообщение и закончите выполнение программы командой exit(1);
◦если в строке с заголовками (первая строка файла данных) нет слова Price или Quantity, выведите сообщение и закончите выполнение программы командой exit(1);
◦повторяйте вопрос о выборе суммируемого поля до тех пор, пока пользователь не введёт положительное целое число в заданном интервале;
◦проверяйте в каждой строке правильность цены (Price) и количества (Quantity), в случае неправильных данных выдайте сообщение и пропустите строку файла; ◦цена должна начинаться со знака $, остальная часть должна соответствовать действительному числу, где дробная часть отделяется от целой запятой,
◦количество должно быть положительным целым числом;


import sys
failinimi=input('Введите название файла: ')
fail=open(failinimi,'r')
pealkiri=fail.readline().strip().split(';')
print ('Kokkuv6tte tunnus?')
i=0
for p in pealkiri:
    i=i+1
    print(i,'\t'+p)
vastus=input('Введите номер: ')
n=int(vastus)-1
qnr=pealkiri.index('Quantity')
pnr=pealkiri.index('Price')
summad={}
for rida in fail:
    ridalist=rida.strip().split(';')
    if ridalist[n] in summad:
        summa=summad[ridalist[n]]
    else:
        summa=0
    summad[ridalist[n]]=summa+float(ridalist[pnr][1:].replace(',','.'))*int(ridalist[qnr])
fail.close()
for s in summad:
    print(s,summad[s])
input()

Отредактировано garry (Янв. 7, 2015 10:51:16)

Прикреплённый файлы:
attachment tabel.csv (18,8 KБ)

Офлайн

#2 Янв. 7, 2015 11:22:06

Alex_HH
Зарегистрирован: 2014-03-03
Сообщения: 91
Репутация: +  13  -
Профиль   Отправить e-mail  

Работа с csv файлами

Используйте модуль csv. Ну а дальше легко.



————–
Зимой и летом heavy metall.
Технический прогресс - это падение вверх. Alex_HH (с)
Эстетизация жестокости есть квинтэссенция смысла человеческого существования. Alex_HH (с)
После бога идет не пустота, там метаданные. Alex_HH (с)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version