Using Excel for CSV files is like using Word for developing code. You could do it if you like suffering and mostly program in Malbolge, but for everyone else, it’s just the wrong tool for the job. Let’s first cover the main functionality Excel has that Modern CSV does not:
As a general spreadsheet tool, Excel is great when you need these things, but it’s a poor tool for dealing with CSV files. Here are the main complaints people have about it:
Modern CSV was designed to address all of these problems plus a few most people probably didn’t even think to complain about. Let’s go through these one by one.
Suppose you have a list of addresses and there’s a column for zip codes. Some zip codes start with 0, so Excel will “helpfully” remove these leading 0s for you:
OK, sorry about the bad fake data, but if you happen to live in a zip code that starts with 0, Excel can’t find you …
but Modern CSV can! Then, there’s my personal favorite- turning numbers in the 40,000 range into dates. Modern CSV does not do that (although it does have a Convert Date/Time Format command, but you have to actually tell it to do that. No assuming what your data really is).
Most CSV files are shorter than a million rows, but some are much longer if they’re auto-generated by software or hardware. If you need to see the whole thing, Excel isn’t the tool for you because you will see this:
And when you scroll to the bottom of the file, you will see this:
With Modern CSV, you see this:
The portion of the file it can load Excel loads slowly. Here’s a video of Excel loading the same file from above.
I had to snip out the middle so you don’t click away out of boredom. So it takes over 45 seconds to load less than 1/4 of the file. Here’s Modern CSV opening the same file in read-only mode:
That took 7.5 seconds and it loaded the whole file. In edit mode, it takes 28 seconds to load the whole file (rather than just 25% of the file). As you can see, Excel handles large files poorly.
What if you’re running a script that writes to a CSV file and you want to see it updated? With Excel, you can’t even run the script because it’ll lock the file. With Modern CSV, you can see the changes happen in real time.
There’s a lot more to Modern CSV than compensating for Excel’s CSV deficiencies. Here are just a few advantages:
Suppose you want to move a column. Just select any cell in that column and hit ctrl+alt+left/right
. That’s it. Done. It also works on several columns at once or rows with ctrl+alt+up/down
.
Deleting rows (ctrl+shift+k
) and columns (ctrl+shift+l
) is just as easy:
Plus, you can insert and duplicate rows and columns (insertion: alt+r
and alt+c
, duplication: ctrl+alt+r
and ctrl+alt+c
).
You can edit several cells at the same time:
And with series too:
If you have folders full of CSVs that you want to work with, Excel will open up a new instance per file. Modern CSV, on the other hand, can handle multiple CSVs in the same instance with the use of the Tab bar and the Sidebar. Just drag and drop a folder into Modern CSV and it will automatically add the CSV, TSV, TAB, etc. files to the sidebar.
There’s also a nifty Go to File feature where you can hit ctrl+p
and type in the name of any file in the folder. It uses fuzzy search, so just a partial name will do.
Modern CSV is a great tool for keyboard ninjas. Many commands have a default keyboard shortcut and almost all of them can have a shortcut if you want. Furthermore, if you don’t like the default shortcuts, you can change them. Just use the Edit Keyboard Shortcuts
command and edit the file. For instance, if you use the Join Selected Cells Horizontally
command a lot, which doesn’t have a shortbut by default, and want to assign ctrl+j
to it, it’s super easy:
These are just a few of the advantages Modern CSV has over Excel for handling CSV files. See for yourself.
You can use the free version forever if you like. There’s also a Premium version with extra features, including: