Это код веб-скребка, который я запускаю для переноса всех своих университетских модулей в файл csv, и я не могу понять, почему мой оператор if / else не работает, пробовал много разных решений, но все же не повезло.Может я что-то упустил?Вот код (условный внизу):
from bs4 import BeautifulSoup, BeautifulStoneSoup
# import requests
import csv
with open('timetable.html', encoding='UTF-8', newline='') as html_file:
soup = BeautifulSoup(html_file, 'lxml')
csv_file = open('lol.csv', 'w', encoding='utf-8')
csv_writer = csv.writer(csv_file)
csv_writer.writerow(['Subject', 'Start date', 'Start time', 'End time', 'Location'])
table = soup.find('table')
for modulis in table.find_all('td', class_='modclass'):
# randam modulį
# randam modulio pavadinimą
pav = modulis.find_all('a')[1]
name = pav['title']
print(name)
# modulio laiko pradžia
time1 = modulis.text[0:5]
print(time1)
# modulio laiko pabaiga
time2 = modulis.text[6:11]
print(time2)
# modulio vieta
aud = modulis.find('a').text[1:]
print(aud)
# modulio data
data = modulis.parent.find('td', class_='date').text
if data[0] == 0:
rand = '2019.' + data
else:
rand = '2018.' + data
# rašom csv
print(rand)
csv_writer.writerow([name, rand, time1, time2, aud])
Он никогда не оценивается как истина, поэтому он всегда входит в выражение else, в котором ant вводит неверный год. Все мои даты заканчиваются на 2018.xx.xx, но эти месяцы, которые начинаются с 0, должны начинаться с 2019.xx.xx
Кроме того, данные ВСЕГДА в формате xx.xx, поэтому data [0] всегда выбирает первое число.