Errors using the Import/Export CSV Plugin

I am a beginner trying to use Tropy to organize years of documents collected for genealogy research.
Because of the way that I have filed my scanned documents in the past, I think it would be easier for me to import one file of scanned documents, export them to CSV, enter the elements, tags, and notes in CSV, then import the CSV.

I am experimenting with this. I exported 4 items, added a few things, then imported them. The first two items work import correctly, but the last two items cause an error and do not import.

Here is the error report:
image

I have also saved the Log file if that helps.

Thank you for your help!

Peggy

Could you post one of the CSV rows that failed to import? Ideally, both the original and altered version.

Here are the two lines from the export in CSV with the header:

DCMI: Title DCMI: Creator DCMI: Date DCMI: Type http://purl.org/dc/elements/1.1/source https://tropy.org/v1/tropy#collection https://tropy.org/v1/tropy#box https://tropy.org/v1/tropy#folder http://purl.org/dc/elements/1.1/identifier DCMI: Rights https://tropy.org/v1/tropy#tag https://tropy.org/v1/tropy#path https://tropy.org/v1/tropy#note https://tropy.org/v1/tropy#path https://tropy.org/v1/tropy#note
007545888_00881 Wohl C:\Users\Peggy.Peggy-HPp7-1155\Documents\GEN Family History Documents Tropy\myheritage-immigration&travel\007545888_00881.jpg
007545933_00973 Wohl C:\Users\Peggy.Peggy-HPp7-1155\Documents\GEN Family History Documents Tropy\myheritage-immigration&travel\007545933_00973.jpg C:\Users\Peggy.Peggy-HPp7-1155\Documents\GEN Family History Documents Tropy\myheritage-immigration&travel\007545933_00974.jpg

Here are the same lines from the import. These seemed to cause the error:

http://purl.org/dc/elements/1.1/title DCMI: Creator http://purl.org/dc/elements/1.1/date http://purl.org/dc/elements/1.1/type DCMI: Source https://tropy.org/v1/tropy#collection https://tropy.org/v1/tropy#box https://tropy.org/v1/tropy#folder DCMI: Identifier http://purl.org/dc/elements/1.1/rights https://tropy.org/v1/tropy#tag https://tropy.org/v1/tropy#path https://tropy.org/v1/tropy#note https://tropy.org/v1/tropy#path https://tropy.org/v1/tropy#note
007545888_00881 Nov 5, 1889 Passport My Heritage 007545888_00881 Wohl C:\Users\Peggy.Peggy-HPp7-1155\Documents\GEN Family History Documents Tropy\myheritage-immigration&travel\007545888_00881.jpg
007545933_00973 Feb 27, 1865 Loyalty Oath My Heritage 007545933_00973 Wohl C:\Users\Peggy.Peggy-HPp7-1155\Documents\GEN Family History Documents Tropy\myheritage-immigration&travel\007545933_00973.jpg C:\Users\Peggy.Peggy-HPp7-1155\Documents\GEN Family History Documents Tropy\myheritage-immigration&travel\007545933_00974.jpg

I am suspicious that I entered the date incorrectly, but I put it in quotes (it contains a comma) and it still didn’t work.
Perhaps I don’t understand the correct date format?

Thank you.
Peggy

Thanks!

I think the issue is that your CSV data contains trailing columns. This causes issues, because the CSV data is flexible in the way that you can add multiple photos per item/row so if there are trailing blank columns the CSV plugin will interpret those as additional photos (which it then can’t parse because they are blank).

For the date field we suggest to use ISO format (YYYY-MM-DD); Tropy will then parse the date and format it according to your locale. Using a different format is fine too, Tropy will just display it as a string. However, since you’re working with CSV here you need to be careful if your values contain commas such as in your example: you always need to use quotations around those values like you say.

How do you work with the CSV data? I’m assuming you’re using a spreadsheet in Libre Office or Excel? Either way, you need to be careful with the export options. Ideally, use quoted values (so you don’t need to add quotes yourself) and make sure not to export any additional columns. If you’re still having problems, please post the altered CSV data you’re trying to import (that is, not as a table but the raw data) then we can tell you exactly what the issue is, but I’m relatively confident that it’s just trailing columns.

Thank you!

I understand about the ISO date format, and can use it easily. I was
just unsure which format to use.

I will look into the trailing columns issue. That is probably the
problem because three of the four item lines had two images. The error
always occurred at the line with only one image.

Peggy

Oh, yes, I see how this could be a problem when you export the data from the spreadsheet again. We should look into skipping trailing blank columns to make this a little easier.

It’s fixed! It was the trailing columns. I am trying so many new things at once that I didn’t realize my data input process should put “Conslolidate” items after I had cleaned them up in my CSV export/import. I was trying to import a mix of items with one and two images. The error was for the first one that was just one image after the first items had two images.
I believe that this information is in the Help section, but it didn’t make sense to me until I saw it in action.
Thank you!

I have a couple of additional questions, but will start a new thread as they are very different subjects.

Again, thank you for your quick support.

Hi, I’m not sure if I should start a new topic for this - so if this is wrong let me know.

I started using the CSV plugin tool last week (so useful I’m really glad it exists).

I’m a PhD student working with around 12,000 images, the meta data in in an excel spreadsheet that I converted to CSV for import.

After a little bit of messing around with it I got it to work. But realised that I needed to tidy up some of my file names. I made some changes and tweaked my metadata template a bit and now I can’t get it to work.

It says it is importing the CSV, shows the right number of lines being imported and then nothing happens.

I’ve tried exporting multiple times, and that works and as far as I can tell I have used the exact same header names as I did when it worked.

I’ve tried reinstalling Tropy, cleaning my data, tried various tests and I just can’t make it work now. I can only assume that I’ve done something very basic wrong but I’ve run out of ideas!

Would really appreciate any help :slight_smile:

In effect you were importing the same images again and again, right? Making some changes, importing again, and so on. If that’s the case, it’s possible that images get skipped because they’re already in your project. If that’s the case just make sure that you clear the items before importing them again, or by adjusting the skip duplicates preference. Either way, taking a look at the log file after the import will hopefully explain what’s going on (either there should be notes about skipped items or errors corresponding to each import that doesn’t show up).

Thanks for getting back to me!

So I had tried making new projects and changing my ‘allow duplicate’ settings - neither of which seems to have changed what’s happening.

I’ve just looked at the log and it is showing errors but I’m afrad I don’t understand enough to know what it means?

Here is the log fil:

{“level”:30,“time”:1678383987615,“type”:“browser”,“name”:“main”,“args”:[],“opts”:{“env”:“production”,“autoUpdates”:true,“contextIsolation”:true,“webgl”:false,“debug”:false,“trace”:false,“data”:“C:\Users\Lazer Hawk\AppData\Roaming\Tropy”,“cache”:“C:\Users\Lazer Hawk\AppData\Roaming\Tropy\cache”,“logs”:“C:\Users\Lazer Hawk\AppData\Roaming\Tropy\log”},“version”:“1.12.0”,“msg”:“main.init 1.12.0 Windows_NT 10.0.19045 (x64)”}
{“level”:40,“time”:1678383987689,“type”:“browser”,“name”:“main”,“stack”:“Error: EPERM: operation not permitted, symlink ‘C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\res\plugins\README.md’ → ‘C:\Users\Lazer Hawk\AppData\Roaming\Tropy\plugins\README.md’”,“msg”:“failed to link plugins readme”}
{“level”:30,“time”:1678383987697,“type”:“browser”,“name”:“main”,“msg”:“plugins scanned: 1”}
{“level”:30,“time”:1678383987702,“type”:“browser”,“name”:“main”,“msg”:“app state restored”}
{“level”:30,“time”:1678383987706,“type”:“browser”,“name”:“main”,“file”:“C:\Users\Lazer Hawk\Documents\Testing.tpy”,“msg”:“open new project window”}
{“level”:30,“time”:1678383987800,“type”:“browser”,“name”:“main”,“msg”:“switch to "light" theme”}
{“level”:30,“time”:1678383988458,“type”:“renderer”,“name”:“project”,“dpx”:1.25,“opts”:{“env”:“production”,“documents”:“C:\Users\Lazer Hawk\Documents”,“pictures”:“C:\Users\Lazer Hawk\Pictures”,“theme”:“light”,“aqua”:false,“contrast”:false,“dark”:false,“scrollbars”:true,“vibrancy”:false,“file”:“C:\Users\Lazer Hawk\Documents\Testing.tpy”,“recent”:[“C:\Users\Lazer Hawk\Documents\Testing.tpy”,“C:\Users\Lazer Hawk\Documents\PHD\Tests, Templates, Temps\JMM_Images.tpy”,“C:\Users\Lazer Hawk\Documents\PhD Images 08.03.23.tpy”],“data”:“C:\Users\Lazer Hawk\AppData\Roaming\Tropy”,“debug”:false,“dev”:false,“cache”:“C:\Users\Lazer Hawk\AppData\Roaming\Tropy\cache”,“plugins”:“C:\Users\Lazer Hawk\AppData\Roaming\Tropy\plugins”,“fontSize”:“13px”,“frameless”:false,“level”:“info”,“locale”:“en”,“log”:“C:\Users\Lazer Hawk\AppData\Roaming\Tropy\log\tropy.log”,“uuid”:“eff76670-bdb2-11ed-8e80-41bb6f483532”,“update”:{},“version”:“1.12.0”,“webgl”:true,“zoom”:1,“maximizable”:true,“minimizable”:true},“msg”:“project.init”}
{“level”:30,“time”:1678383988576,“type”:“browser”,“name”:“main”,“msg”:“ready after 840.76708984375ms”}
{“level”:30,“time”:1678383988580,“type”:“renderer”,“name”:“project”,“msg”:“plugins scanned: 1”}
{“level”:30,“time”:1678383988590,“type”:“renderer”,“name”:“project”,“msg”:“plugins loaded: 1”}
{“level”:30,“time”:1678383989562,“type”:“renderer”,“name”:“project”,“msg”:“restoring recent@tropy”}
{“level”:30,“time”:1678383989570,“type”:“renderer”,“name”:“project”,“msg”:“restoring settings@tropy”}
{“level”:30,“time”:1678383989570,“type”:“renderer”,“name”:“project”,“msg”:“restoring ui@tropy”}
{“level”:30,“time”:1678383989594,“type”:“renderer”,“name”:“project”,“mode”:“w+”,“msg”:“open db C:\Users\Lazer Hawk\AppData\Roaming\Tropy\ontology.db”}
{“level”:30,“time”:1678383990127,“type”:“renderer”,“name”:“project”,“msg”:“Esper.instance created using webgl renderer”}
{“level”:30,“time”:1678383990265,“type”:“renderer”,“name”:“project”,“mode”:“w”,“msg”:“open db C:\Users\Lazer Hawk\Documents\Testing.tpy”}
{“level”:40,“time”:1678383990346,“type”:“renderer”,“name”:“project”,“query”:“\n SELECT count() AS count FROM sqlite_schema",“ms”:609,“msg”:“SLOW: db query took 609ms”}
{“level”:30,“time”:1678383990391,“type”:“renderer”,“name”:“project”,“msg”:“restoring project.watch@34f915d0-75ac-4250-9668-2d1681312dca”}
{“level”:30,“time”:1678383990646,“type”:“renderer”,“name”:“project”,“msg”:“project ready 2879ms [dom:703ms win:265ms req:818ms]”}
{“level”:40,“time”:1678383991244,“type”:“renderer”,“name”:“project”,“query”:“PRAGMA integrity_check(10)”,“ms”:846,“msg”:“SLOW: db query took 846ms”}
{“level”:30,“time”:1678383991277,“type”:“renderer”,“name”:“project”,“msg”:“restoring nav@34f915d0-75ac-4250-9668-2d1681312dca”}
{“level”:30,“time”:1678383991278,“type”:“renderer”,“name”:“project”,“msg”:“restoring notepad@34f915d0-75ac-4250-9668-2d1681312dca”}
{“level”:30,“time”:1678383991278,“type”:“renderer”,“name”:“project”,“msg”:“restoring esper@34f915d0-75ac-4250-9668-2d1681312dca”}
{“level”:30,“time”:1678383991279,“type”:“renderer”,“name”:“project”,“msg”:“restoring imports@34f915d0-75ac-4250-9668-2d1681312dca”}
{“level”:30,“time”:1678383991280,“type”:“renderer”,“name”:“project”,“msg”:“restoring sidebar@34f915d0-75ac-4250-9668-2d1681312dca”}
{“level”:30,“time”:1678383991280,“type”:“renderer”,“name”:“project”,“msg”:“restoring panel@34f915d0-75ac-4250-9668-2d1681312dca”}
{“level”:30,“time”:1678383991295,“type”:“renderer”,“name”:“project”,“mode”:“w”,“msg”:“open db C:\Users\Lazer Hawk\Documents\Testing.tpy”}
{“level”:30,“time”:1678383991296,“type”:“renderer”,“name”:“project”,“mode”:“w”,“msg”:“open db C:\Users\Lazer Hawk\Documents\Testing.tpy”}
{“level”:30,“time”:1678383991374,“type”:“renderer”,“name”:“project”,“path”:"C:\Users\Lazer Hawk\Documents\PHD\Tests, Templates, Temps\Test Folder\
.{ai,AI,avif,AVIF,eps,EPS,gif,GIF,heic,HEIC,heif,HEIF,jpg,JPG,jpeg,JPEG,jp2,JP2,jpx,JPX,j2k,J2K,pdf,PDF,png,PNG,ps,PS,svg,SVG,tif,TIF,tiff,TIFF,webp,WEBP}”,“since”:1678299222507,“msg”:“start watching C:\Users\Lazer Hawk\Documents\PHD\Tests, Templates, Temps\Test Folder”}
{“level”:40,“time”:1678383992829,“type”:“renderer”,“name”:“project”,“msg”:“SLOW: note.load#22”}
{“level”:40,“time”:1678383992854,“type”:“renderer”,“name”:“project”,“msg”:“SLOW: selection.load#21”}
{“level”:40,“time”:1678383992875,“type”:“renderer”,“name”:“project”,“query”:“\n SELECT id, property, text, datatype AS type\n FROM subjects\n JOIN metadata USING (id)\n JOIN metadata_values USING (value_id) ORDER BY id, metadata.created ASC”,“ms”:695,“msg”:“SLOW: db query took 695ms”}
{“level”:40,“time”:1678383992887,“type”:“renderer”,“name”:“project”,“ms”:1584,“list”:false,“query”:“”,“tags”:false,“trash”:null,“msg”:“SLOW: search query "" took 1584ms"}
{“level”:30,“time”:1678384002654,“type”:“renderer”,“name”:“prefs”,“dpx”:1.25,“opts”:{“env”:“production”,“documents”:“C:\Users\Lazer Hawk\Documents”,“pictures”:“C:\Users\Lazer Hawk\Pictures”,“theme”:“light”,“aqua”:false,“contrast”:false,“dark”:false,“scrollbars”:true,“vibrancy”:false,“file”:“C:\Users\Lazer Hawk\Documents\Testing.tpy”,“data”:“C:\Users\Lazer Hawk\AppData\Roaming\Tropy”,“debug”:false,“dev”:false,“cache”:“C:\Users\Lazer Hawk\AppData\Roaming\Tropy\cache”,“plugins”:“C:\Users\Lazer Hawk\AppData\Roaming\Tropy\plugins”,“fontSize”:“13px”,“frameless”:false,“level”:“info”,“locale”:“en”,“log”:“C:\Users\Lazer Hawk\AppData\Roaming\Tropy\log\tropy.log”,“uuid”:“eff76670-bdb2-11ed-8e80-41bb6f483532”,“update”:{},“version”:“1.12.0”,“webgl”:true,“zoom”:1,“maximizable”:false,“minimizable”:false},“msg”:“prefs.init”}
{“level”:30,“time”:1678384002713,“type”:“renderer”,“name”:“prefs”,“msg”:“plugins scanned: 1”}
{“level”:30,“time”:1678384002726,“type”:“renderer”,“name”:“prefs”,“msg”:“plugins loaded: 1”}
{“level”:30,“time”:1678384003214,“type”:“renderer”,“name”:“prefs”,“msg”:“restoring prefs@tropy”}
{“level”:30,“time”:1678384003216,“type”:“renderer”,“name”:“prefs”,“msg”:“restoring settings@tropy”}
{“level”:30,“time”:1678384003234,“type”:“renderer”,“name”:“prefs”,“mode”:“w+”,“msg”:“open db C:\Users\Lazer Hawk\AppData\Roaming\Tropy\ontology.db”}
{“level”:30,“time”:1678384003430,“type”:“renderer”,“name”:“prefs”,“mode”:“w”,“msg”:“open db C:\Users\Lazer Hawk\Documents\Testing.tpy”}
{“level”:30,“time”:1678384003443,“type”:“renderer”,“name”:“prefs”,“msg”:“prefs ready 1278ms [dom:500ms win:61ms req:478ms]”}
{“level”:30,“time”:1678384003451,“type”:“renderer”,“name”:“prefs”,“mode”:“w+”,“msg”:“open db C:\Users\Lazer Hawk\AppData\Roaming\Tropy\ontology.db”}
{“level”:30,“time”:1678384003467,“type”:“renderer”,“name”:“prefs”,“msg”:“restoring project.watch@34f915d0-75ac-4250-9668-2d1681312dca”}
{“level”:30,“time”:1678384017556,“type”:“renderer”,“name”:“prefs”,“msg”:“restoring project.watch@34f915d0-75ac-4250-9668-2d1681312dca”}
{“level”:30,“time”:1678384017556,“type”:“renderer”,“name”:“prefs”,“msg”:“persisting project.watch@34f915d0-75ac-4250-9668-2d1681312dca”}
{“level”:30,“time”:1678384017559,“type”:“renderer”,“name”:“prefs”,“msg”:“persisting prefs@tropy”}
{“level”:30,“time”:1678384017559,“type”:“renderer”,“name”:“prefs”,“msg”:“persisting settings@tropy”}
{“level”:30,“time”:1678384017862,“type”:“renderer”,“name”:“project”,“msg”:“restoring settings@tropy”}
{“level”:30,“time”:1678384017895,“type”:“renderer”,“name”:“project”,“msg”:“restoring project.watch@34f915d0-75ac-4250-9668-2d1681312dca”}
{“level”:30,“time”:1678384017929,“type”:“renderer”,“name”:“project”,“path”:"C:\Users\Lazer Hawk\Documents\PHD\Tests, Templates, Temps\Test Folder\
.{ai,AI,avif,AVIF,eps,EPS,gif,GIF,heic,HEIC,heif,HEIF,jpg,JPG,jpeg,JPEG,jp2,JP2,jpx,JPX,j2k,J2K,pdf,PDF,png,PNG,ps,PS,svg,SVG,tif,TIF,tiff,TIFF,webp,WEBP}”,“msg”:“start watching C:\Users\Lazer Hawk\Documents\PHD\Tests, Templates, Temps\Test Folder”}
{“level”:40,“time”:1678384030823,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}
{“level”:40,“time”:1678384030881,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}
{“level”:40,“time”:1678384030938,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}
{“level”:40,“time”:1678384030997,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}
{“level”:40,“time”:1678384031054,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}
{“level”:40,“time”:1678384031160,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}
{“level”:40,“time”:1678384031235,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}
{“level”:40,“time”:1678384031292,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}
{“level”:40,“time”:1678384031343,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}
{“level”:40,“time”:1678384031397,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}
{“level”:40,“time”:1678384031452,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}
{“level”:40,“time”:1678384031509,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}
{“level”:40,“time”:1678384031558,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}
{“level”:40,“time”:1678384031608,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}
{“level”:40,“time”:1678384031674,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}
{“level”:40,“time”:1678384031727,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}
{“level”:40,“time”:1678384031792,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}
{“level”:40,“time”:1678384031840,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}
{“level”:40,“time”:1678384031895,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}
{“level”:40,“time”:1678384031946,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}
{“level”:40,“time”:1678384031995,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}
{“level”:40,“time”:1678384032055,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}
{“level”:40,“time”:1678384032112,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}
{“level”:40,“time”:1678384032170,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}
{“level”:40,“time”:1678384032230,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}
{“level”:40,“time”:1678384032280,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}
{“level”:40,“time”:1678384032324,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}
{“level”:40,“time”:1678384032374,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}
{“level”:40,“time”:1678384032430,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}
{“level”:40,“time”:1678384032477,“type”:“renderer”,“name”:“project”,“stack”:“TypeError: The "to" argument must be of type string. Received undefined\n at __node_internal_captureLargerStackTrace (node:internal/errors:464:5)\n at new NodeError (node:internal/errors:371:5)\n at validateString (node:internal/validators:119:11)\n at Object.relative (node:path:498:5)\n at Object.create (C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\project-47faaeb2.js:26154:27)\n at async C:\Users\Lazer Hawk\AppData\Local\tropy\app-1.12.0\resources\app.asar\lib\index-7b7248e9.js:2167:23”,“msg”:“skipping item due to import error”}

It looks like there are errors resolving the paths to your files (relative to the CSV file). Can you give an example of the kind of path you have in the CSV and where both the image and CSV file are located?

Thanks for getting back to me!

The CVS file is in a folder on my Laptop

C:\Users\Lazer Hawk\Documents\PHD\Tests, Templates, Temps\Test 15.csv

The Image files are in a folder on a USB stick.

D:\PHD Current\Sources\Images\JMM images\JMM_1 Juvenile Missionary Magazine. 1844. Vol.1. Volume. Volume 1 Cover. London Missionary Society. Volume Cover.png

Both are the same locations as when it initially worked.

The excel sheet the CSV file is derived from originally has a hyperlink with that path that works.
I have also exported to CSV (from when the import did work) and the path is the same.

and I have tired adjusting between relative and absolute paths.

Thanks again for all your help!

Could you post one row sample from Test 15.csv?

Since the files are on a different drive than the CSV file the paths should stay absolute (since a relative path is not possible there).

This is what it looks like if I copy it from am open CSV:

JMM_1 Juvenile Missionary Magazine. First Series London Missionary Society Volume 1 Cover 1844 1840s 1 Volume Volume Volume Cover Frontispiece Full Page Yes NO Not Stated NO REAL PLACE NO REAL PLACE No Real-World Location Non-Places Stories/Allegory/Promotions/Miscellany Allegorical YES NO YES Mixed Crowd/Group Mixed NO Ship & People 1 D:\PHD Current\Sources\Images\JMM images\JMM_1 Juvenile Missionary Magazine. 1844. Vol.1. Volume. Volume 1 Cover. London Missionary Society. Volume Cover.png

This is what it looks like opened in Notepad

JMM_1,Juvenile Missionary Magazine.,First Series,London Missionary Society,Volume 1 Cover,1844,1840s,1,Volume,Volume,Volume Cover,Frontispiece ,Full Page,Yes,NO,Not Stated,NO REAL PLACE,NO REAL PLACE,No Real-World Location,Non-Places,Stories/Allegory/Promotions/Miscellany,Allegorical,YES,NO,YES,Mixed,Crowd/Group,Mixed,NO,Ship & People,1,D:\PHD Current\Sources\Images\JMM images\JMM_1 Juvenile Missionary Magazine. 1844. Vol.1. Volume. Volume 1 Cover. London Missionary Society. Volume Cover.png

OK the file path itself looks fine. I assume there’s some problem while parsing the CSV that causes the columns to be mixed up. The first thing that comes to mind is that you should wrap your values with quotation marks when exporting the data (otherwise a comma in any of the values will break the alignment). If you send me the full CSV file attached here or as a direct message I can look at it in the debugger to see exactly what it is getting translated into.

Here’s the test CSV - Thank you!

(Attachment Test 15.csv is missing)

I’m sorry, you need to attach the file here (attachments are not included when replying by mail).

It won’t let me attached the file in the comment section or in this message it seems?

is there another format that would be helpful?

Oh, good catch! I guess we haven’t debugged CSV files before. I added CSV to the list of permitted uploads, so I hope it works now!

Test 15.csv (167.3 KB)

Sweet! hopefully you can see it for real now!