Python Forum
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
write to csv file problem
#7
ok so i changed the flights to print the output
the output of found flights function returns None with no pop up messages
the code for found flights follows

def output_found_flights(ent):
    '''connects to the api in order to find flights. information from entries are received
    generates values in the current entry that is supplied when the function is called
    and returns the updated dictionary file'''
    query = {
        "fly_from": ent['from_iata_code'],
        "fly_to": ent['to_iata_code'],
        "date_from": ent['from_time'],
        "date_to": ent["to_time"],
        "nights_in_dst_from": 7,
        "nights_in_dst_to": 28,
        "flight_type": "round",
        "one_for_city": 1,
        "max_stopovers": 0,
        "curr": "GBP"
    }
    headers = {
        "apikey": API_KEY
    }
    endpoint = "https://api.tequila.kiwi.com/v2/search"
    response = requests.get(url=endpoint, headers=headers, params=query)
    flights = response.json()
    try:
        lowest_price = round(float(ent["lowest_price"]), 2)
    except ValueError:
        messagebox.showerror(title="Ooops",
                             message="You have not entered appropriate input for the lowest price variable")

    for flight in flights['data']:
        flight_price = round(float(flights['data'][0]['price']), 2)
        if flight['price'] <= lowest_price:
            adult_price=flights['data'][0]['fare']['adults']
            children_price=flights['data'][0]['fare']['children']
            infants_price=flights['data'][0]['fare']['infants']
            total_price=float((adult_price * ent['adults'] ) + (children_price * ent['children']) + (infants_price * ent['infants']))
            url = flights['data'][0]['deep_link']
            date = flights['data'][0]['local_departure']
            date_separator = date.find("T")
            departure_date = date[:date_separator]
            date_list = departure_date.split("-")
            date_formatted = f"{date_list[2]}/{date_list[1]}/{date_list[0]}"
            ent['trip_date'] = date_formatted
            ent["ticket_price"] = flight_price
            ent['total_price']=total_price
            ent['url'] = url
            try:
                if messagebox.askokcancel(title=f"{ent['trip_date']} from {ent['from_city_name']} to {ent['to_city_name']}",message=f"Ticket price is £{ent['total_price']}0\n"
                                                                                                                                       f"{int(ent['adults'])} adults are travelling with {int(ent['children'])} children and {int(ent['infants'])} infants.\nPress ok to open the URL in order to buy the tickets"):
                    webbrowser.open(ent['url'])
            except ValueError:
                messagebox.showerror(title="Ooops",message="No flights were found")
        else:
            messagebox.showerror(title="No flight found",message="No flights found that fit your criteria")
i cant understand where it is going wrong. if there are no flights then according to my try statements and if statements i should get a pop up saying no flights were found. But instead all i get is return None from the above function

What am i doing wrong here?

QUick edit: after trying once more. i have found a flight using different cities but it did not save the flight in the csv file which according to the code below should have been appended to the file

my_list=save_ent()
    new_list=[]

    for ent in my_list:

        new_list.append(output_found_flights(ent))
    new_data_file=pd.DataFrame(new_list)
    new_data_file.to_csv("flight_data.csv",index=False,mode="a")
Reply


Messages In This Thread
write to csv file problem - by jacksfrustration - Nov-03-2023, 03:55 PM
RE: write to csv file problem - by noisefloor - Nov-03-2023, 05:05 PM
RE: write to csv file problem - by deanhystad - Nov-03-2023, 05:54 PM
RE: write to csv file problem - by deanhystad - Nov-03-2023, 10:22 PM
RE: write to csv file problem - by jacksfrustration - Nov-03-2023, 10:47 PM
RE: write to csv file problem - by deanhystad - Nov-04-2023, 05:43 AM
RE: write to csv file problem - by jacksfrustration - Nov-07-2023, 02:31 PM
RE: write to csv file problem - by deanhystad - Nov-07-2023, 03:55 PM
RE: write to csv file problem - by jacksfrustration - Nov-07-2023, 04:32 PM
RE: write to csv file problem - by deanhystad - Nov-07-2023, 06:30 PM
RE: write to csv file problem - by jacksfrustration - Nov-07-2023, 08:58 PM
RE: write to csv file problem - by deanhystad - Nov-09-2023, 01:56 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  What does .flush do? How can I change this to write to the file? Pedroski55 3 379 Apr-22-2024, 01:15 PM
Last Post: snippsat
  Last record in file doesn't write to newline gonksoup 3 541 Jan-22-2024, 12:56 PM
Last Post: deanhystad
  python Read each xlsx file and write it into csv with pipe delimiter mg24 4 1,718 Nov-09-2023, 10:56 AM
Last Post: mg24
  How do I read and write a binary file in Python? blackears 6 7,727 Jun-06-2023, 06:37 PM
Last Post: rajeshgk
  Reading data from excel file –> process it >>then write to another excel output file Jennifer_Jone 0 1,197 Mar-14-2023, 07:59 PM
Last Post: Jennifer_Jone
  Read text file, modify it then write back Pavel_47 5 1,782 Feb-18-2023, 02:49 PM
Last Post: deanhystad
  how to read txt file, and write into excel with multiply sheet jacklee26 14 10,668 Jan-21-2023, 06:57 AM
Last Post: jacklee26
  How to write in text file - indented block Joni_Engr 4 6,622 Jul-18-2022, 09:09 AM
Last Post: Hathemand
  Upgrading from 2 to 3 and having file write problems KenHorse 2 1,559 May-08-2022, 09:47 PM
Last Post: KenHorse
  Cursor write 3rd file empty paulo79 3 1,965 Mar-10-2022, 02:51 PM
Last Post: DeaD_EyE

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020