I’m trying to export a particular observation field with a number of observations but it isn’t selectable in the exporter. It looks like this is a known shortfall with the exporter but I was wondering if anyone had found a workaround for this other than just manually inputting that field from each and every observation into the csv. Thanks!
as far as i can tell, the observation fields available to you in the export page are based on the observation fields you have used in your own observations. so if you can’t select one, then just use it on one of your observations (or a dummy casual observation). if that doesn’t work, then you could always get any observation field value via the API, though that generally will require some scripting to accomplish.
I agree with everything pisum said. I would only add that if you are planning on doing extensive data export going forward, and you have any experience at all with programming/scripting, you probably won’t regret taking the dive into using the API. The power/flexibility available to you is at a whole nuther level. I wish I had taken the dive years earlier than I did, it would have saved me a lot of frustration.
No more having to do multiple exports and trying to remember what parameter settings are needed in each case (and redoing them when I discovered I set one parameter incorrectly), no more working around the fact that you can’t export annotations, etc. etc. etc.
I access the API using python scripts. I learned the basics of python to do processing of exported iNat data, but I was always intimidated by the prospect of accessing the API. There was a bit of a learning curve, but I started off just trying to retrieve very simple sets of observations until I got comfortable with how it works. As always, YMMV
yes, the API definitely provides power users a lot more options. but depending on what you’re trying to accomplish, it may be a little tricky to get data from the API, if you’re starting from scratch. in Python, the pyinaturalist module can help to simplify the basic retrieval of data. (it’s well-documented, widely used, and has a good collection of example scripts, too.) however, since the API returns data as JSON with nested data structures, and since the needed results may be scattered across multiple endpoints, it still may require some work to get everything the standard iNat CSV export is capable of providing, in a tabular structure.
back in the day, i set up a JupyterLite instance with a few example Python (Pyodide) scripts in Jupyter notebooks with the bones to handle some tasks that didn’t already have good examples (that i could find at the time). the JupyterLite instance allows you to run everything entirely in a web browser without having to set up your own Python environment. the get observations example notebook gets data (in a slightly different way than pyinaturalist does), but then also has the bones for some data flattening, can get standard place names, does annotation code translations to English descriptions, handles some taxon ancestry parsing, can do some taxon id to name lookups for observation fields, etc…
there’s also a collection of basic R and Python scripts from some folks who wrote a paper about how to use iNat data, and there are miscellaneous other examples scattered in the forum and in various code repositories.
Yes, finding what you need can be a royal pain in the you-know-what. I was forgetting that part.