Loading share/csv2json +29 −0 Original line number Diff line number Diff line Loading @@ -48,5 +48,34 @@ for my $line (@csv_lines) { @stations = sort { $a->{name} cmp $b->{name} } @stations; my $have_duplicates = 0; my @names = map { $_->{name} } @stations; my @ds100 = map { $_->{ds100} } @stations; my @uic_ids = map { $_->{uic} } @stations; for my $i ( 1 .. $#names ) { if ( $names[ $i - 1 ] eq $names[$i] ) { say "Duplicate station name: $names[$i]"; $have_duplicates = 1; } } for my $i ( 1 .. $#ds100 ) { if ( $ds100[ $i - 1 ] eq $ds100[$i] ) { say "Duplicate DS100 code: $ds100[$i]"; $have_duplicates = 1; } } for my $i ( 1 .. $#uic_ids ) { if ( $uic_ids[ $i - 1 ] == $uic_ids[$i] ) { say "Duplicate UIC ID: $uic_ids[$i]"; $have_duplicates = 1; } } if ($have_duplicates) { say "Data has NOT been converted to stations.json"; say "Please remove duplicates and run $0 again"; } my $json_out = JSON->new->utf8->canonical->pretty->encode( [@stations] ); write_file( 'stations.json', $json_out ); Loading
share/csv2json +29 −0 Original line number Diff line number Diff line Loading @@ -48,5 +48,34 @@ for my $line (@csv_lines) { @stations = sort { $a->{name} cmp $b->{name} } @stations; my $have_duplicates = 0; my @names = map { $_->{name} } @stations; my @ds100 = map { $_->{ds100} } @stations; my @uic_ids = map { $_->{uic} } @stations; for my $i ( 1 .. $#names ) { if ( $names[ $i - 1 ] eq $names[$i] ) { say "Duplicate station name: $names[$i]"; $have_duplicates = 1; } } for my $i ( 1 .. $#ds100 ) { if ( $ds100[ $i - 1 ] eq $ds100[$i] ) { say "Duplicate DS100 code: $ds100[$i]"; $have_duplicates = 1; } } for my $i ( 1 .. $#uic_ids ) { if ( $uic_ids[ $i - 1 ] == $uic_ids[$i] ) { say "Duplicate UIC ID: $uic_ids[$i]"; $have_duplicates = 1; } } if ($have_duplicates) { say "Data has NOT been converted to stations.json"; say "Please remove duplicates and run $0 again"; } my $json_out = JSON->new->utf8->canonical->pretty->encode( [@stations] ); write_file( 'stations.json', $json_out );