Заявление об ограничении ответственности: я учусь разрабатывать на Python и знаю, что этот способ кодирования, вероятно, похож на tra sh, но я планирую продолжать улучшать при создании программ.
Итак, я пытаюсь создать скребок для ежедневной проверки конкретных c цен на авиабилеты с Selenium, и эта часть кода уже выполнена. Пункт отправления, пункт назначения, дата первого рейса, дата второго рейса и цена будут сохраняться каждый день. Я сохраняю эти данные в файл, а затем сравниваю, были ли изменения в цене.
Моя цель - сделать так, чтобы цена изменилась более чем на X процентов, а затем распечатать сообщение в сценарий для каждого сравниваемого рейса.
import pandas as pd
import os.path
import numpy as np
#This are just sample data before integrating Selenium values
price = 230
departuredate = '20/02/2020'
returndate = '20/02/2020'
fromm = 'BOS'
to = 'JFK'
price2 = 630
departuredate2 = '20/02/2020'
returndate2 = '20/02/2020'
fromm2= 'CDG'
to2= 'JFK'
#End of sample data
flightdata = {'From': [fromm, fromm2], 'To': [to,to2], 'Departure date': [departuredate,departuredate2], 'Return date': [returndate,returndate2], 'Price': [price,price2]}
df = pd.DataFrame(flightdata, columns= ['From', 'To', 'Departure date', 'Return date', 'Price'])
#Check if the script is running for the first time
if os.path.exists('flightstoday.xls') == True:
os.remove("flightsyesterday.xls")
os.rename('flightstoday.xls', 'flightsyesterday.xls') #Rename the flights scraped fromm yesterday
df.to_csv('flightstoday.xls', mode='a', header=True, sep='\t')
else:
df.to_csv('flightstoday.xls', mode='w', header=True, sep='\t')
#Work with two dataframes
flightsyesterday = pd.read_csv("flightsyesterday.xls",sep='\t')
flightstoday = pd.read_csv("flightstoday.xls",sep='\t')
Мне не хватает того, как сравнить столбец «Цена» и распечатать сообщение, в котором говорится, что для строки X с «От», «До», » Дата вылета ',' Дата возврата ', рейс изменился на процентное значение X.
Я пробовал этот код, но он добавляет только столбец в файл flighstoday, но не процентное соотношение и, конечно, не выводит на печать, что было любое изменение в цене.
flightstoday['PriceDiff'] = np.where(vueloshoy['Price'] == vuelosayer['Price'], 0, vueloshoy['Price'] - vuelosayer['Price'])
Любая помощь для этого newb ie будет принята с благодарностью. Спасибо!