Hi all,
I’m reading some records from a Oracle table.
For eache record I create a list and then I export the list to a CSV file.
for rec in ulv_df.itertuples():
columnList = []
columnList.append(rec.instructnumber)
columnList.append(rec.vehiclekey)
columnList.append(rec.vehicle_id)
columnList.append(rec.specification1)
...
print(columnList)
writer.writerow(columnList)
The ‘vehicle_id’ is defined as NUMBER but it is handled in different way in different records:
['i', 'EAP83225', 'MEP0000085', 786.0, '', '', '', '', '', '', '', datetime.date(1995, 1, 1), datetime.date(1995, 12, 31)]
['i', 'EAP83225', 'FOR0001610', 786.0, '', '', '', '', '', '', '', datetime.date(1995, 1, 1), datetime.date(1995, 12, 31)]
...
['i', 'EAP82205', 'MAZ0000447', 760, '', '', '', '', '', '', '', datetime.date(1996, 3, 1), datetime.date(1996, 12, 31)]
['i', 'EAP82205', 'MAZ0000231', 760, '', '', '', '', '', '', '', datetime.date(1996, 1, 1), datetime.date(1996, 12, 31)]
Why the field in the first two rows has turned to float (786.0 - WRONG), and in the last ones as integers (760 - CORRECT)??
Thanks, regards