Skip to main content

A utility for geocoding csv files.

Project description

This is a Python based utility for geocoding csv files using various online geocoding service.


Installation using pip

pip install giokoda

Installation from source

Download the source code from github, Example

git clone

Install the module and its dependancies

cd giokoda
python install


This utility can be used as a Python module or as an executable script.

Using as python module

Basic example:

import giokoda

The above code will try to goecode the provided ‘input.csv’ file and write its output to ‘input.csv-geocoded.csv’

A geocode_csv function can geocode entities from a provided input csv file and write results to a csv file.

It also returns a dictionary containing error, success and total count of geocoded rows.

General syntax:

geocode_csv('input/file.csv', **kwargs)

Required parameter

infile, (filepath/str)
path to a csv file to geocode.

Optional keyword arguments (**kwargs)

outfile, (filepath/str)
path to file to write output csv
service, (str), default: ‘nominatim’.
Name of a geocoding service to use. This can be a name of any geocoding service that is supported by geopy.
query_column, (str), default: ‘name’
Name of a column containg text to geocode.

query_columns (list): default: []. A list of a columns to be combined in order to produce a text to geocode.

service_kwargs, (dict)
Optional keyword arguments for initialization of geocoding service.

delimiter (str): default: ‘,’, A one-character string used to separate fields.

quotechar (str): default: ‘”’, A one-character string used to quote fields containing special characters in a csv file, such as the delimiter or quotechar, or which contain new-line characters.


geocode_csv() returns a dictionary of success, error and total count:

    'total': 0,
    'success': 0,
    'error': 0

Using an executable script

  • Run geocode_csv via command line interface.


geocode_csv /input/file.csv

or including a api key:

geocode_csv --service <SERVICE-NAME> --params '{"api_key": "<YOUR-API-KEY>"}' /input/file.csv

General usage:

geocode_csv [-h] [-o OUTPUT] [-s SERVICE] [-c COLUMN] [-p PARAMS] input

Required argument

Full path to csv file to geocode

Optional arguments

-h, –help
show this help message and exit
-o OUTPUT, –output OUTPUT
Full path to output file
-s SERVICE, –service SERVICE
Geocoding service name, example arcgis, baidu, google, googlev3, geocoderdotus, geonames, yahoo, placefinder, opencage, openmapquest, mapquest, liveaddress, navidata, nominatim, geocodefarm, what3words, yandex and ignfrance
-c [COLUMN [COLUMN …]], –column [COLUMN [COLUMN …]]
Name(s) for column(s) containing text content to geocode. Multiple column names should be separated by white space.
-p PARAMS, –params PARAMS
Keyword arguments for geocoding service initialization presented as json object
A one-character string used to separate fields in a csv file
A one-character string used to quote fields containing special characters in a csv file, such as the delimiter or quotechar, or which contain new-line characters.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

giokoda-0.1.2.tar.gz (5.6 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page