The fundamentals of CSV
CSV is a common text-based data exchange format that has been around since the early 70s — at least a decade before personal computers even became a thing. CSV is a minimalist, plain-text storage format that involves no data encoding. CSV files only contain the raw data and separating characters; the latter act as delimiters for rows, columns, and the data itself. That simple structure makes CSV files both compact, resilient, and near-immune to critical data corruption.
Here’s an example of the content of a CSV file, where commas and line feeds are used as delimiters:
name,age,id John,26,A5XS1 Mary,61,B3SD5
Given its tiny formatting requirements, the CSV format is rather limited. However, these limitations are in essence what makes the format universal. CSV files can serve as a data bridge between almost any otherwise incompatible applications or systems that make use of tabular data. For instance, any text editor can open a CSV, since it is but a plain text file. Every database system can import from, and export to, CSV. The same goes for every spreadsheet application, as well as the vast majority of services that manipulate lists and similar data types, regardless of the OS or hardware they operate on.
Enter: Modern CSV
As mentioned above, every spreadsheet application — including MS Excel and Google Sheets — can open, modify, and save a CSV file and its data. However, the way traditional spreadsheet applications handle raw data comes a bit short for many big-data applications, or even simply for debugging. Though there are almost always workarounds, these can be cumbersome and somewhat risky. That’s where Modern CSV comes in.
Modern CSV is not a rewrite of the half-a-century-old format; rather Modern CSV is the name of a desktop application that manipulates CSV data in a spreadsheet-like interface.
Even though on the surface the application looks like a spreadsheet, Modern CSV is nothing like Excel: it doesn’t do formulas, graphs, sheets, table lookups, cell formatting*, or anything in the realm of presentation. It does not allow programmatic scripting and it doesn’t even try and export to foreign file formats: you can only export to variants of the CSV format, such as TAB, TSV, and PSV. Modern CSV is a file editor for tabular data; as such, the application can handle CSV files of quasi-unlimited size/rows and still amazingly fast.
What is it good for?
In one of our use-cases, we gather data programmatically on a daily basis from various online sources. That data is processed, agglomerated, re-structured and finally written to a CSV for logging and exporting to various services. When an exception occurs, Modern CSV allows us to quickly identify the source of the problem; furthermore, it provides us with a way to re-organize and filter the data if and when the need arises. Modern CSV turned out to be a huge time-saver, mainly because it gets the job done very quickly.
It should be noted that while Modern CSV has both a free version and a paid version, only the paid version ($24) can perform data filtering, cell joins/splits, transforms, and a few other operations that are essential to serious data manipulation. Modern CSV is not open-source. The desktop application is available for all major operating systems: Linux, Windows, and macOS.
(*) With the exception of text case transforms and date formatting.