Exemplo n.º 1
0

def sex_indexed(row, name):
    value = int(row[name])
    if value in (1, 2):
        return value


def row_parser(row):
    return {
        'accident_id': row.get('Accident_Index') or row['\ufeffAccident_Index'],
        'vehicle_ref': int(row['Vehicle_Reference']),
        'type_id': indexed(row, 'Vehicle_Type'),
        'driver_sex_id': sex_indexed(row, 'Sex_of_Driver'),
        'driver_age': indexed(row, 'Age_of_Driver'),
        'driver_age_band_id': indexed(row, 'Age_Band_of_Driver'),
        'manoeuvre_id': indexed(row, 'Vehicle_Manoeuvre'),
        'location_id': indexed(row, 'Vehicle_Location-Restricted_Lane'),
        'towing_and_articulation_id': indexed(row, 'Towing_and_Articulation'),
        'junction_location_id': indexed(row, 'Junction_Location'),
        'skidding_and_overturning_id': indexed(row, 'Skidding_and_Overturning'),
        'hit_object_in_carriageway_id': indexed(row, 'Hit_Object_in_Carriageway'),
        'hit_object_off_carriageway_id': indexed(row, 'Hit_Object_off_Carriageway'),
        'first_point_of_impact_id': indexed(row, '1st_Point_of_Impact'),
        'leaving_carriageway_id': indexed(row, 'Vehicle_Leaving_Carriageway'),
    }


if __name__ == '__main__':
    load_table_main(Vehicle, row_parser)

def sex_indexed(row, name):
    value = int(row[name])
    if value in (1, 2):
        return value


def row_parser(row):
    return {
        'accident_id': row['\ufeffAccident_Index'],
        'vehicle_ref': int(row['Vehicle_Reference']),
        'type_id': indexed(row, 'Vehicle_Type'),
        'driver_sex_id': sex_indexed(row, 'Sex_of_Driver'),
        'driver_age': indexed(row, 'Age_of_Driver'),
        'driver_age_band_id': indexed(row, 'Age_Band_of_Driver'),
        'manoeuvre_id': indexed(row, 'Vehicle_Manoeuvre'),
        'location_id': indexed(row, 'Vehicle_Location-Restricted_Lane'),
        'towing_and_articulation_id': indexed(row, 'Towing_and_Articulation'),
        'junction_location_id': indexed(row, 'Junction_Location'),
        'skidding_and_overturning_id': indexed(row, 'Skidding_and_Overturning'),
        'hit_object_in_carriageway_id': indexed(row, 'Hit_Object_in_Carriageway'),
        'hit_object_off_carriageway_id': indexed(row, 'Hit_Object_off_Carriageway'),
        'first_point_of_impact_id': indexed(row, '1st_Point_of_Impact'),
        'leaving_carriageway_id': indexed(row, 'Vehicle_Leaving_Carriageway'),
    }


if __name__ == '__main__':
    load_table_main(Vehicle, row_parser)
Exemplo n.º 3
0
        number_of_casualties=int(row['Number_of_Casualties']),
        date=date,
        date_and_time=date_and_time,
        police_attended=row['Did_Police_Officer_Attend_Scene_of_Accident'] == '1',
        junction_control_id=indexed(row, 'Junction_Control'),
        junction_detail_id=indexed(row, 'Junction_Detail'),
        moon_phase=moon_phase,
        solar_elevation=solar_elevation,
        light_conditions_id=indexed(row, 'Light_Conditions'),
        pedestrian_crossing_human_id=indexed(row, 'Pedestrian_Crossing-Human_Control'),
        pedestrian_crossing_physical_id=indexed(row, 'Pedestrian_Crossing-Physical_Facilities'),
        weather_id=indexed(row, 'Weather_Conditions'),
        road_surface_id=indexed(row, 'Road_Surface_Conditions'),
        road_type_id=indexed(row, 'Road_Type'),
        special_conditions_id=indexed(row, 'Special_Conditions_at_Site'),
        carriageway_hazards_id=indexed(row, 'Carriageway_Hazards'),
        urban_rural_id=indexed(row, 'Urban_or_Rural_Area'),
        road_1_class=indexed(row, '1st_Road_Class'),
        road_2_class=indexed(row, '2nd_Road_Class'),
        road_1_number=indexed(row, '1st_Road_Number'),
        road_2_number=indexed(row, '2nd_Road_Number'),
        speed_limit=indexed(row, 'Speed_limit'),
        highway_authority_id=row['Local_Authority_(Highway)'] or None,
    )

if __name__ == '__main__':
    timezone = pytz.timezone('Europe/London')
    astral = Astral()
    row_parser = partial(get_accident_dict, timezone, astral)
    load_table_main(Accident, row_parser)
        number_of_casualties=int(row['Number_of_Casualties']),
        date=date,
        date_and_time=date_and_time,
        police_attended=row['Did_Police_Officer_Attend_Scene_of_Accident'] == '1',
        junction_control_id=indexed(row, 'Junction_Control'),
        junction_detail_id=indexed(row, 'Junction_Detail'),
        moon_phase=moon_phase,
        solar_elevation=solar_elevation,
        light_conditions_id=indexed(row, 'Light_Conditions'),
        pedestrian_crossing_human_id=indexed(row, 'Pedestrian_Crossing-Human_Control'),
        pedestrian_crossing_physical_id=indexed(row, 'Pedestrian_Crossing-Physical_Facilities'),
        weather_id=indexed(row, 'Weather_Conditions'),
        road_surface_id=indexed(row, 'Road_Surface_Conditions'),
        road_type_id=indexed(row, 'Road_Type'),
        special_conditions_id=indexed(row, 'Special_Conditions_at_Site'),
        carriageway_hazards_id=indexed(row, 'Carriageway_Hazards'),
        urban_rural_id=indexed(row, 'Urban_or_Rural_Area'),
        road_1_class=indexed(row, '1st_Road_Class'),
        road_2_class=indexed(row, '2nd_Road_Class'),
        road_1_number=indexed(row, '1st_Road_Number'),
        road_2_number=indexed(row, '2nd_Road_Number'),
        speed_limit=indexed(row, 'Speed_limit'),
        highway_authority_id=row['Local_Authority_(Highway)'] or None,
    )

if __name__ == '__main__':
    timezone = pytz.timezone('Europe/London')
    astral = Astral()
    row_parser = partial(get_accident_dict, timezone, astral)
    load_table_main(Accident, row_parser)