Hi, I'm Evan, developer of Modern CSV. I started developing this out of frustration with how a certain spreadsheet program handles CSV files. I took inspiration from the text editors we've all come to love and this is the result. It's available for Windows, Mac, and Linux. Here are some of the features that make it stand out:
- Multiple cell/row/column editing
- Easy navigation between files
- Keyboard shortcut customization
- Command palette
- Read-only mode for super large files
With version 2, I'm adding some basic data analysis tools, some new themes, M1 compatibility for Mac users, and a whole bunch of editing commands, most of which are user-requested (well, technically all since I use my own product). The current beta version will work until June 25. It includes all Premium features without the need for a license. I'll be happy to hear any feedback you have about it!
I'm looking forward to trying this, learned the hard way that Excel will make unwanted changes without notice to CSV files. Like SSNs that start with zero having there leading zeros silently removed, breaking things.
That used to be the dominant model for getting software exposed to as many users as possible, video games or not. It’s the classic shareware/trialware model. Although, with internet downloads, the “sharing” aspect isn’t really that important anymore.
I tried this and it couldn't open a 6MB CSV file with 1920 columns and 1080 rows. Or maybe it could sometime if I decide that I can wait long enough. Notepad++ can open this file almost instantly.
I figured out it. It's due to the Auto-Fit Column Width setting. By default, it's enabled. Most files don't have a ton of columns so it's fine, but for 1920 columns, it can really slow things down. When I loaded the file with the setting enabled, it took about 40 seconds. When I tried again with the setting disabled, it took about 1 second.
For now, I may put a band-aid on it with a popup asking if you want to disable the feature when there are a lot of columns. I have some ideas on how to make it more efficient. I'll see what I can do before the full release.
It's handled much larger files than that, so if it's something you don't mind sharing, you can send the file at https://www.moderncsv.com/report-a-bug. It is a beta version, so I'm trying to fix all these issues now.
Edit: On second thought, it's probably grayscale intensity hex values of a 1920x1080 image. I can reproduce that myself. Feel free to send me your file if you want, but it might not be necessary.
I've been using ModernCSV for a while to handle readonly CSVs (mainly for sanity checking) and it's been fantastic.
Version 2 looks great, it's a hard balance to add features and not become bloated so will be interesting to see what it's like going forward.
(I love the product, not affiliated, just been using it every day since November 2020 as a happily paid user and recommend it to anyone who has the "pleasure" of working with CSVs)
I'm not sure I see a huge advantage that can be obtained via tight integration that you can't get by simply clicking "Save" and then ALT-Tab-ing to your Python script/notebook/whatever and re-running it, targeted at the file you just saved. If you're feeling really feisty, see about integrating a file watch program to do it as soon as you save. It's not like the editor is going to be using a pandas layout internally it can just pass to Python without marshaling.
At some point (maybe version 3), I'd like to integrate Python to allow users to make their own commands. This would give them access to entire rows, columns, ranges, etc.
This app almost in its entirety has been a growing note in my idea vault for years now due to identical frustrations. Thank you! Very excited to try it.
This new version has a Convert Number Format command that can be used to convert between the two formats. It just occurred to me I didn't take that into account for the new statistics operations. I'll be sure to fix it.
First I've heard of this tool. I've been using the Python-based csvkit and the Java-based OpenRefine (formerly Google Refine) to work with and clean CSVs for years. Thanks for the recommendation.
This is really close to what I've been wanting to build for a while. A sort of excel for programmers with the added ability to write real lua or python code in each cell instead of "formulas".
BTW, I'm suprised this is written in Qt. Looks very modern Windows, in a good way of course :^)
Excel formulas are worst abominations of semi-programming. My coworker took advanced excel courses and I sometimes just can’t help her with these monstrosities because everything around them sucks if it’s something more than a simple max-3-term expression. If it was just python or lua, I’d cast few spells and she’d understand and use them much more easily.
I've been meaning to check out sc-im ("Spreadsheet Calculator Improvised" https://github.com/andmarti1424/sc-im) for a while now. Among its listed features:
> GNUPlot interaction.
> Scripting support with LUA. Also with triggers and c dynamic linked modules.
> Implement external functions in the language you prefer and use them in SC-IM.
Does anyone here have experience using it? Is it stable and reliable, and does it handle large files well?
You and I think alike because that was my initial thought. The practical considerations make it tricky. I may still do it, but I first plan to embed Python to allow users to implement their own commands.
For Emacs users there is a nice csv-mode on ELPA. It has aligned display, field based navigation and some basic sorting and manipulation options. And you have access to all the usual Emacs goodies of course.
Another option is to import into an org-mode table and then re-export as csv when needed.
Has anybody figured out a convenient way to post tabular data in a Slack message that doesn't look horrible? I usually use an "ASCII Table" tool to format the CSV and then post the results in a code block, but it's a PITA.
This is nicely done. Finding a reasonable csv editor was a 'white whale' I searched for for some years. I found that with EmEditor (commercial, I'm not associated with them), the killer feature is swapping between normal text editor and csv cell based editing seamlessly. I still tell anyone I see dealing with csv's about it. I wish the macros weren't in their own language, but performance on large files is crazy fast.
Looks great! It took me a few tries to understand how the Settings work and I would explain it in the help if I were you. I was trying to change the theme from dark to light and took me a while to understand that I had to add the new value on the righmost cell instead of changing the default value column :)
In my humble opinion the light theme would be better as a default because I am used to Excel. I suppose most Excel users would say the same.
That seems to be a common issue. I put "!!! Make changes below !!!" above the User Value column, but if you scroll straight down to the Theme row, you may miss that. Perhaps I could swap the User Value and Default Value column or pop up a message if the user edits the Default Value column.
- Multiple cell/row/column editing - Easy navigation between files - Keyboard shortcut customization - Command palette - Read-only mode for super large files
With version 2, I'm adding some basic data analysis tools, some new themes, M1 compatibility for Mac users, and a whole bunch of editing commands, most of which are user-requested (well, technically all since I use my own product). The current beta version will work until June 25. It includes all Premium features without the need for a license. I'll be happy to hear any feedback you have about it!
Just gave this program a try and it lets me save changes without removing any of the double quotes, yay!
I suppose I'm a trailblazer, after the video game space and Jetbrains, of course.
Not impressed.
For now, I may put a band-aid on it with a popup asking if you want to disable the feature when there are a lot of columns. I have some ideas on how to make it more efficient. I'll see what I can do before the full release.
Edit: On second thought, it's probably grayscale intensity hex values of a 1920x1080 image. I can reproduce that myself. Feel free to send me your file if you want, but it might not be necessary.
Version 2 looks great, it's a hard balance to add features and not become bloated so will be interesting to see what it's like going forward.
(I love the product, not affiliated, just been using it every day since November 2020 as a happily paid user and recommend it to anyone who has the "pleasure" of working with CSVs)
https://en.wikipedia.org/wiki/Decimal_separator#/media/File:...
[0] https://www.ronsplace.eu/Products/RonsEditor/Download
[0] https://www.visidata.org/
BTW, I'm suprised this is written in Qt. Looks very modern Windows, in a good way of course :^)
Excel formulas are worst abominations of semi-programming. My coworker took advanced excel courses and I sometimes just can’t help her with these monstrosities because everything around them sucks if it’s something more than a simple max-3-term expression. If it was just python or lua, I’d cast few spells and she’d understand and use them much more easily.
> GNUPlot interaction.
> Scripting support with LUA. Also with triggers and c dynamic linked modules.
> Implement external functions in the language you prefer and use them in SC-IM.
Does anyone here have experience using it? Is it stable and reliable, and does it handle large files well?
Another option is to import into an org-mode table and then re-export as csv when needed.
In my humble opinion the light theme would be better as a default because I am used to Excel. I suppose most Excel users would say the same.