Ireland-Census 2016

Written by

in

 

I’ve had to work recently on an older Linux based machine and as such most of my usual routes to edit and display data aren’t available to me. I needed to preform a join between the Small Areas geometry and the Small Areas table, both of which are available from the CSO’s website here. Even though the csv only has ~18,000 rows, the field calculator in QGIS 3.2 Bonn couldn’t cope and kept crashing.

Enter python to the rescue, I downloaded the Geany python IDE which I find to be nice and lightweight for older computers. I needed to remove the first 7 characters from the ‘GEOGID’ field. All of the values in this column started with ‘SA2017_’. The following is a quick few lines in python 2 to remove the first 7 characters using python’s built in csv module. For reference, on this very average laptop from 2011 it took 3 seconds to run.

import csv

with open('SAPS2016_SA2017.csv', 'rb') as input_file, open('output.csv', 'w') as output_file:
    reader, writer = csv.reader(input_file), csv.writer(output_file)
    first_row = reader.next()
    first_row.append("Strp_GeogID")
    writer.writerow(first_row)
    for row in reader:
        item_to_change = row[1]
        modified_item = item_to_change[7:]
        row.append(modified_item)
        writer.writerow(row)