Некоторые незначительные изменения, которые я сделал, заключались в добавлении дополнительных условий с оператором if.
if len(values_to_row) > 3 and regex_dates.search(values_to_row[0]):
lifts_writer.writerow(values_to_row)
print(values_to_row)
values_to_row.clear()
else:
Теперь оператор if считывает список, если в нем более 3 значений, а также проверяет, является ли первое значение в строке/списке датой. Вот как выглядит CSV-файл ниже.
Насколько мы могли, мы захватили большинство начальных дней в списке. Он останавливается как следующее значение, а не дата. Итак, следующий этап — разработка оператора else или elif для работы со значениями, не являющимися датами. И запишите их в ряд в правильном порядке.
Прямо сейчас я нашел менее чем опциональное решение — найти регулярное выражение для значения, которое останавливает цикл.
if re.search('---', values):
lifts_writer.writerow(values_to_row)
print(values_to_row)
values_to_row.clear()
Несмотря на то, что это не помещает значение в предыдущую строку, это позволяет продолжить цикл. Добавлено условие or, позволяющее добавлять в цикл дополнительные значения.
if re.search('---', values) or re.search('pra', values):
lifts_writer.writerow(values_to_row)
print(values_to_row)
values_to_row.clear()
Первоначально опубликовано на https://www.tobiolabode.com 31 июля 2019 г.