I have what is probably quite an easy problem, however I'm not able to figure it out by myself. I work as a field researcher doing bird inventory. I collect the data via QGIS on an android-tablet, which works fine. For the later evaluation and display of the collected data, I need certain columns in the produced shapefile, which I want to be (at least partly) filled out automatically.
There is one column with the bird common names, another on with the scientific names and a third one with abbreviations.
What I do in the field is fill out the common names by drop down menu (value map) from a csv table, which also contains the scientific names and abbreviations.

The csv looks like the following example:

Common name;Scientiffic name; Abbreviation
Golden Plower;Pluvialis apricaria;Glpl

Later I complete the other two columns at the office.
What I now would like to do is to get the columns, which shall contain the scientific names and abbreviations, to be filled automatically by the associated values from the mentioned csv.

Does anybody knows a way to do that? It would make work way much easier for me and save lots of time during the evaluation of the data...

1 Answer 1


To me, you need to make a join between your main shapefile that contains the common names only with the CSV file. I would do that this way:

  1. Load your CSV file into your QGIS project (Layer > Add layer > Add delimited text layer) and specify that field delimitations are semi-colons and that it is a non-geometric layer.

  2. Make a join between your shapefile and the loaded CSV file specifying that the field used for joining both files is the common names one (right-click on shapefile name > Properties > Joins). When in Joins part of the properties: click the green + to specify the CSV file to be joined.

  3. You now get the 3 columns from your CSV file attached to the attributes table of your shapefile. The last step is to update scientific name and abreviation columns. To achieve that, use the Field Calculator and specify that you want to update the scientific name column of your shapefile with the content of the scientific name column of your CSV file. Do the same for abreviation column.

  4. Eventually, drop the join by removing it from the Properties > Joins part of your shapefile (same place where you set your join up just before). The temporary CSV columns will disappear from your shapefile attributes table.

This is a bit of cooking but it can be done very quickly providing you work with a QGIS project and keep the CSV file loaded permanently inside your project.

Hope this helps. Good luck with birding!

  • Hi Wiltomap, here's a (very delayed) "Thank You!" for your answer, which provides a nice workaround. But I produce about 200 shapefiles per season, which all have to be handeld manually by this way... is there any possibility to get the fields filled out like "on the fly"? like I fill out the one field ("names") and the second field ("abrevs") gets filled out automatically? Jul 8, 2016 at 10:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.