Import Metadata from CSV

Hi,
I have c.700 images whose metadata I have in a CSV file. I can see some previous discussions about JSON, but I’d rather not use JSON if I can avoid it.

Is it possible to use the new CSV plug in to automate importing the metadata into Tropy from a CSV? I have installed v3.2.0, but am not really sure where to start with templates etc.

The fields I want to use do not correspond to existing vocabularies. Should I make a custom template first? It’s a bit unclear from the documentation how this works, and in which order this should be done. How does the metadata I create relate to the columns in Tropy? These seem unrelated to the template data.

Any advice much appreciated.

Thanks

Hi,
yes this sounds like a job for the CSV plugin. In case you haven’t seen the main documentation of the plugin yet: CSV plugin README.

As all metadata in Tropy is based on a metadata standard you need to find vocabularies/properties that make sense for your project. In case the built-in templates do not have all the fields you need, you’d create a custom template first.

Your CSV file needs to have a certain structure in order to work for the CSV plugin. Particularly the first row has to include column names that are known to Tropy. E.g. if your metadata contains a title, the corresponding column name could be http://purl.org/dc/elements/1.1/title.

The easiest way to go about this is to create an item manually with the (custom) template you wish to use. Then export this item using the CSV plugin and have a look (Excel etc.) at the first row in the CSV file. Use exactly these strings as column names in your CSV file to import the data with the plugin.

Hi there,
Yes, I’ve seen this suggestion elsewhere on the forum. Do you have an example of what the template is meant to look like? E.g., which fields specifically does Tropy require/expect as a minimum? It’s a bit confusing how the import template corresponds to the columns you see in the Tropy window. Is it translating them? Also, one of the columns itself has the value: template. A worked example of how to do this would quite handy. Thanks!

Hi,
to get an idea how the template should look like, right-click on an existing item in Tropy, select Export Item > CSV (or whatever you called it in the plugin’s settings). During the export, choose a file name with .csv file extension. Have a look into the CSV file, it reflects the template of that specific item (unless you specified a different template in the plugin’s settings). By default this would be the Tropy Generic template. In the CSV file you will see which column titles are used e.g. for specifying the path to the image file (https://tropy.org/v1/tropy#path). In case you are fine with the Tropy Generic fields, that’s how the CSV template should look like. If you miss something, you’d have to create a custom template first an repeat the steps above.

Tropy does not require/expect any fields, but will only be able to import fields from a CSV file if the header is a property known to Tropy. In the simplest case, if you import a CSV file that looks like this, you would import an item with only a value for dc:title:

"http://purl.org/dc/elements/1.1/title"
"The item title"

So the import template helps Tropy to map your item values to item properties it understands.

Once you have imported an item into Tropy you can change its template (in the metadata panel) at any time without changing the data of the item itself. Think of templates as ‘views’ on metadata.

Please note that the column header in Tropy’s item table is completely independent of both the item template and the fields you use in the CSV file. Via right-click on the table header you can pick any property that is known to Tropy and that is helpful to you (hence the Template column because it allows you to find items with a certain template).

Hello, I am new to Tropy with minimal experience using DAM software. I have a collection of around 8,000 .jpgs with metadata for their contents saved in an .xlsx file. I have imported the .jpgs into Tropy and would now like to import the associated metadata into the item fields using the Tropy Generic template. I have installed the CSV (3.2.0) plug-in and saved my .xlxs file as a .csv file with the correct Tropy headers, but I am having a difficult time figuring out how to import my data successfully. The filename for each .jpg is listed in a column in my .csv file with the heading: https://tropy.org/v1/tropy#path. When I try to import, I get the following message, but cannot understand how to resolve it based on what I am reading on the forums:

Error: Invalid Opening Quote: a quote is found inside a field at line 47
at Object.parse (/Users/MRL/Library/Application Support/Tropy/plugins/tropy-plugin-csv-v3.2.0/index.js:1333:21)
at parse$1 (/Users/MRL/Library/Application Support/Tropy/plugins/tropy-plugin-csv-v3.2.0/index.js:1851:23)
at CSVPlugin.import (/Users/MRL/Library/Application Support/Tropy/plugins/tropy-plugin-csv-v3.2.0/index.js:2215:25)

Thank you for your help!

@MRL would you mind to post the CSV (or DM if you prefer)?

Of course, thank you!
Image Database.csv (2.0 MB)

This CSV file hits some edge cases of the plugin. We will release a new version asap, stay tuned!