Found a great external table editor at

Hey just thought I’d throw it out there, I found an awesome candidate for an external table editor that is lightweight, quick, can open MASSIVE files, and is very versatile / intuitive.

It’s even got fancy features like selecting and editing multiple cells at once, quick reordering of rows / columns or moving of cells / blocks of cells (alt+arrow keys) and will update it’s view instantly when the file is changed elsewhere.

I’ve found that if you link a table DAT to a .TSV file and turn on File Sync, it’s super easy to go back and forth between TD and Modern CSV and the changes almost sync instantly: you still have to press CTRL+S in ModernCSV, but I put in a feature request for instant saving along with the already implemented instant re-loading.

I’m certainly not being paid to shill for this, but I’ve been looking for a modern csv / tsv editor for YEARS and appearantly all I had to do was type that into google. It does cost ~$25USD to unlock some of the more advanced features (and obviously, support the creator), but for the most part everything you could want for working with TD is free forever (no trial periods).


thanks for this @Peeet ! A good table editor is essential. Was using Excel / LibreOffice until now, I’ll try this. It seems suite slow on first startup, but I guess this is the same as Visual Code (and most modern apps), it just needs to be loaded all the time if you use it daily.

question: when editing a DAT it combines all DAT columns to a single column in the modernCSV GUI- is this a limitation of the free version or a preference I can set?

@nettoyeur it looks like if you go to preferences > edit file extension options, you can define py files to be correctly interpreted by assigning (auto) to the Delimiter category

1 Like

Yeah I think because of the .py extension, it doesn’t know what to do. Definitely @drmbt’s suggestion is a permanent solution, but also, you can just click on the “Delimiter:” text in the lower right corner of the window and change the delimiter there on the fly.

As far as I can tell, everything you would need for TD is in the free version. The paid version just gets you fancy stuff like filtering, conversion, joining, transposing, etc…

But honestly $24 for life is a steal if you ask me. And I was able to install it on both my laptop and my desktop using the same license, so there’s that.

hey Peeet.
awesome find. just installed and set up the default extension behavior to auto and … Well almost a winner except the lack of SAVE ON LOST FOCUS… .

  1. I also sent a feature request (and mentioned you )…
  2. I have a quick fix and it works .

One of my favorite mac utilities to solve little things like this is called Keyboard Maestro. its an invaluable tool … on PC I use something similar called MacroExpress Pro… so ill have to test that on my windows machine (where I do most of my TD work).

tonight , i am on my macPro and found your post.
In Keyboard Maestro, I set up a macro that triggers when Modern CSV deactivates (as I jump back to TD)… that sends a command-s keystroke to the application and forces the save… and by the time you switch back to TD, the table DAT is updated…

check it out…!

turns out I can’t live without it anymore with 100 uses per day on my current project :laughing:, just bought a license. Thanks @Peeet

Hey everyone, I’m Evan, developer of Modern CSV. I’m glad you found my tool useful! I plan to add a setting to save on cell edit and focus loss. I was originally planning on including it in the 1.4 release, but that’s taking a while, so I’ll slip it in a bug release sometime next week (it feels kind of like cheating, but I’m the developer, so I declare it’s not cheating). For full disclosure, one thing I plan to do in 1.4 is put a number of settings behind the paywall, so to speak (Premium version), so this setting will be in the free version of 1.3.x, but not 1.4.

My bad, that was a bug. Delimiter auto-detect wasn’t always kicking in when it was supposed to. I fixed that recently, so it should work as expected if you try the latest version.

1 Like

@evanem that is awesome! great support, and ten points for coming here to comment! Already happy with my license, keep up the good work!
And if you can also find a way to make it start a bit faster… I would be even happier :wink:

1 Like

Thanks Evan an Peeet,
yeah. your tool has changed my workflow. I found tables to be painful to work with until Peeet shined a light on ModernCSV… Every time I edit tables now, I smile… thanks for being such a cheater!
keep up the great work.

1 Like

Starting performance is on my radar. Of course, many things are, but it’s something I hope to make progress on by June or July.

The new version of Modern CSV is ready and it now has a Save After Each Edit feature. It’ll also save if you exit focus while editing. To enable it, open the Settings file (call Edit Settings), go down to the row with Save After Each Edit, and under the User Value column (not Default Value), type “true”. Once you save, it’ll be enabled.

Here’s the download page: Download - Modern CSV

If there’s anything else I can do for you guys, just let me know.


@evanem I seem to be having a problem with scripts held in a table; I’'m using python f"" string formatting, and I have both ’ and " in my cell data. ModernCSV seems to be doubling my " on reload to touchdesigner… not sure what I might be able to do to avoid that

@drmbt By default, it’ll double the double quote characters and surround those cells with double quotes. You can turn that off by editing the File Extensions file (the Edit File Extension Options command). In there, you can tell it how to treat each file extension. Under the “Parsing Standard” column, set it to “Delimiter Only” like so:

The only potential problem is if any of your cells contains a comma (or tab or whatever your delimiter might be), then it treats it like a delimiter and starts a new cell.

Let me know if that works for you.

hmm… this is tricky, because the default table in TD saves as a .py document, which gets delimited by a single space. Changing to delimiter only means that spaces become new cells, which isn’t an acceptable tradeoff. The only scenario I’m running into this is when i need to use double quotes for formatting, but that does happen a fair amount in my workflow. Are there any other parsing standards to look into for .py files?

I can add another parsing standard that will add double quotes around cells only if they contain a delimiter or newline. I’m not sure what to call it so any suggestions are welcome.

I just put up a release with a “Sparse Quotes” option for parsing standard. I’m not sure how well it’ll work for you since any cell that starts with double quotes will be considered a quote field. Let me know and I can tweak it.

1 Like

?? When I save a table as a .py it gets saved with tab delimiters. What did you do to your TD install @drmbt that it’s saving with spaces as delimiter? :sweat_smile:

you’re right, its a tab, it just looked like a space because of the values i had in the cells. still didn’t help the problem i was having with cellst that had double quotes, but this new update looks like it will do the trick, will check it out when i get back into that project

Thank you so much @evanem for making this amazing table editor. I just discovered this thread and must say I love the way your editor works. I don’t edit tables very often, but from now on I will have fun editing them. :slightly_smiling_face:


You are welcome! I’m glad to have made table editing more fun.

1 Like