Home > database >  Why is date being written as float in csv file
Why is date being written as float in csv file

Time:07-27

I am trying to save some data in csv file. Some of the date formats are changed to float.

This is data:

results = [{'Event ID': 15, 'Time Start': '2022/05/04 17:75', 'Time End': '2022/05/04 18:00''}
{'Event ID': 15, 'Time Start': '2022/05/04 18:00', 'Time End': '2022/05/04 20:50'}
{'Event ID': 0, 'Time Start': '2022/05/06 16:50', 'Time End': '2022/05/06 17:00'}
{'Event ID': 4, 'Time Start': '2022/05/09 15:00', 'Time End': '2022/05/09 15:50'}
{'Event ID': 14, 'Time Start': '2022/06/13 07:75', 'Time End': '2022/06/13 08:00'}
{'Event ID': 4, 'Time Start': '2022/06/15 09:00', 'Time End': '2022/06/15 10:50'}
{'Event ID': 14, 'Time Start': '2022/06/16 02:75', 'Time End': '2022/06/16 03:00'}]

The code to save it as csv is as shown below

 csv_columns = ['Event ID', 'Time Start', 'Time End']
    csv_file = "ets_results.csv"
    try:
        with open(csv_file, 'w', newline='') as csvfile:
            writer = csv.DictWriter(csvfile, fieldnames=csv_columns)
            writer.writeheader()
            for data in results: 
                print(data)
                writer.writerow(data)
    except IOError:
        print("I/O error") 

The output of the csv file looks like this

enter image description here

CodePudding user response:

This is happening because of the cell format in excel

image1 When the cell format is 'General' it will show just the number 44728.13542

But when you change it to 'date' you will get what you need. enter image description here

  • Related