Readit News logoReadit News
evanem · 4 years ago
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!

joenathanone · 4 years ago
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.
bwat48 · 4 years ago
Yeah excel silently mangling csv files has always infuriated me

Just gave this program a try and it lets me save changes without removing any of the double quotes, yay!

aorth · 4 years ago
And dates! And ISSNs (I work with library data)! Ugh.
seniorsassycat · 4 years ago
Why did you choose an expiring demo? I don't think I've seen this model outside video games.
mbreese · 4 years ago
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.
evanem · 4 years ago
I want as many eyeballs on it as possible without needing a license, but I also don't want it to quite be a free giveaway.

I suppose I'm a trailblazer, after the video game space and Jetbrains, of course.

hiccuphippo · 4 years ago
Isn't it basically a trial?
keithnz · 4 years ago
jetbrains uses this on their EAP software
gpu_explorer · 4 years ago
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.

Not impressed.

evanem · 4 years ago
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.

evanem · 4 years ago
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.

agiacalone · 4 years ago
I've been looking for a lightweight CSV reader for some time now. Thanks for making this.
gpvos · 4 years ago
CSVFileView is another option, https://www.nirsoft.net/utils/csv_file_view.html , but it says it has problems with very large files.
thejosh · 4 years ago
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)

nsteel · 4 years ago
FYI, Symantec endpoint proection flags this as having "WS.Reputation.1" spyware. Which I think translates to them not being paid off sufficiently.
jwx48 · 4 years ago
I'm quietly waiting for my IT department to swoop in and chastise me for downloading and running it. Worth it.
karakfa2 · 4 years ago
With Python scripting which treats the file data as pandas dataframe would be very interesting...
jerf · 4 years ago
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.
evanem · 4 years ago
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.
whalesalad · 4 years ago
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.
andy800 · 4 years ago
Congrats. v1 is very good.
dariosalvi78 · 4 years ago
a nice addition would be the possibility to plot data
andi999 · 4 years ago
How do you deal with decimal separator ',' used in a few countries instead of '.'?
avgcorrection · 4 years ago
Most countries by raw country count.
deaddodo · 4 years ago
Less people, by raw population count.
evanem · 4 years ago
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.
febed · 4 years ago
Ron’s CSV Editor is also worth a look for easy CSV editing.

[0] https://www.ronsplace.eu/Products/RonsEditor/Download

lgas · 4 years ago
I've recently become enamoured with VisiData[0] for similar tasks.

[0] https://www.visidata.org/

justusthane · 4 years ago
VisiData is really, really, really cool and I have fallen in love with it. There's a great primer here: https://jsvine.github.io/intro-to-visidata/
kennydude · 4 years ago
Woah - that's probably one of the best websites I've seen for a CLI based tool
DougMellon · 4 years ago
I was just introduced to VisiData at work and have fallen in love with it.
aorth · 4 years ago
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.
no_time · 4 years ago
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 :^)

wruza · 4 years ago
"formulas"

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.

sundarurfriend · 4 years ago
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?

evanem · 4 years ago
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.
donio · 4 years ago
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.

foreigner · 4 years ago
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.
glinkot · 4 years ago
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.
cfn · 4 years ago
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.

evanem · 4 years ago
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.