Replacing Excel with Obsidian / In-line YAML? Tips for filterable, sortable lists with data

FYI, this may be more of a Help question, but it is about plain text note taking broadly, not just within Obsidian.

In essence

How do you take organized notes where each item has multiple data points (e.g. date, category, location, url, etc.)? Essentially I’m asking if and how you write CSV-, JSON- or YAML-like lists, without the pain of following those very structured formats while you’re writing.

  1. Do you have a way of taking such notes? (I imagine the use of symbolic delimiters)
  2. Do you have a way of viewing such notes? (I imagine a script that turns it into a CSV)

In length

I dislike writing in spreadsheet editors. Often, though, my notes are lists of paragraphs/sections, each with similar data points. I want to be able to “easily” filter and sort the list by those data points. This may mean converting from a list to a CSV once I’m done writing, but I’d really rather not write it as a CSV (for which I’d have to

Example 1: Budget

Say I’m drafting a budget, and for each item I might have a price, a category, a preferred vendor, and maybe a purchase by date. I could write this in Excel but a) it’s less a part of my workflow, b) is a bit heavyweight for the task and, most importantly c) writing multiple paragraphs in a cell is a horrid experience. (For this minimal example, I don’t need to write much and so probably should use Excel).

  • Wetsuit, $150, Aquatic Living Store, 2021-09-30
  • Japanese pull saw, Craigslist, $50, 2021-11
  • Pogo Stick, 2021-10

Example 2: Worklog

Maybe a better example is a summary of work, where I’m writing more (maybe even with multiple lines/paragraphs?? but let’s not get ahead of ourselves), and so writing in Excel is more tedious (besides being outside my Obsidian environment).

  • Cleaned the garden; picked up all the pebbles and stones, straightened the twigs, dusted the blossoms and fed the worms.[\at*]2021-09-04. [\hash]Home
  • Revised [[Unpacking FedEx: a critique of recombinant shipping]]. I followed the suggestions of Reviewer 1 regarding paragraph 7 and wholeheartedly reject Reviewer 2’s proposal to change ‘on’ to ‘in’ in paragraph 19. [More writing to follow …]. [\at]2021-09-06. [\hash]Work

*Using symbols so as not to add irrelevant tags and dates to the forum.

The question here is how unstructured my list can be. I’d like it to be less structured than a CSV or YAML: I’d like to able to write the data points in any order and I’d like to be able to keep everything in-line.

I think the solution is to have a set of symbols that are consistent throughout the document. Maybe at the top of the document I define what those symbols mean? In the ‘front matter’ of the page I’d include @: date or $$: price. Maybe those would be better as fences? So price is written as $$50$$ (though that might need a different symbols).

And then, once these notes are taken, I’d need a way to view / sort / filter them. Ideally this would take place within Obsidian, though I have to imagine I’d likely need to write that plugin. The simpler option is to convert the note to a CSV or JSON – though this has the problem that the CSV or JSON probably wouldn’t be able to convert back to the list, so I couldn’t edit the CSV.

Before I get started on setting this up,

  1. Does this seem similar to anything you do?
  2. Do you have tools you use?
  3. Is this an awful idea?
1 Like

Not entirely sure how these writings are used, but it seems you want to incorporate metadata tags of some sort inline in your text? The Dataview plugin supports inline fields.

(Writing text in Excel? Sounds like torture.)

Ooh this is very very interesting. It looks like this works at the file level rather than working within a file but a) I can probably work around that and b) will probably still use this even if I can’t

Or maybe I responded too early before reading enough (the Github repo makes it look like this does work with a list? I’ll stop writing more before I actually know what I’m talking about).

Edit, 40 minutes later

I’ve now read more and it seems this does sort files rather than list items. This is workable for many uses, just requires working in multiple files rather than one long one. This may be more of a showcase question now, but I’d welcome people’s examples of how they use Dataview!

Edit #2

In case anyone is following along, I’m suspecting this works pretty well with the Note Refactor plugin, which would allow me to write as one long note and then split after the fact.

What I really need from Excel is the ability to reference other fields. For example, sum(a1:a3) uses data points from a1 and a3 to get its own value.

It looks like Dataview offers this! (I’ve not used it yet)