В open
, strip
и split
функции являются приемлемыми для чтения CSV файлов, возможно, было бы проще использовать module like this.
Чтение CSV становится:
import csv
with open('fiftyyears.csv', newline='') as csvfile:
reader = csv.reader(csvfile)
for row in reader:
do_something(row)
Я не уверен, что туп об использовании, если заявления, но формат даты вы перечисляете в качестве примера является немного странным. Кроме того, 10 строк реальных данных были бы более полезными, чтобы ответить на ваш вопрос.
Существует множество способов решения вашего требования к соответствию месяца. Базовый подход будет примерно таким:
import csv
class MonthCorrelator(object):
def __init__(self, month):
self.month = month
def process(self, row):
# code goes here to say "if the row's month is my month then..."
def finish(self):
# code goes here to print the result
processor = MonthCorrelator('jan2000') # or, better, use datetime
with open('fiftyyears.csv', newline='') as csvfile:
reader = csv.reader(csvfile)
for row in reader:
processor.process(row)
processor.finish()
... который будет работать, но может быть больше кода, чем вам нужно.
Если все, что вы хотите сделать, это
- Считанные данные
- фильтр определенные строки
- на этих строках сделать сумму
затем посмотреть в итераторы, predicates for a filter и built-in sum function ,
Нужно ли начинать где-то посередине? –