One problem with ctf is that if even one row somehow gets deleted from one column, then we lose the correspondence between columns. For example, one column has 1,000 rows, and another column has 999 rows. We have no way to make a table out of these two columns, because we don't know which records correspond. CSV does not have this problem.
The simplest way I can imagine to address this issue is to preface each line with an integer. In the following example, line 2 is missing.
1,alpha
3,charlie
4,delta
Without an indexing mechanism, and if the newline is missing, then we cannot say which row is missing.
This indexing mechanism would also give us an efficient way to store sparse data, i.e. data where most of the values are missing. For sparse data this can potentially be much more efficient than CSV, both in terms of storage space and reading speed, because the amount to store and read is linear in the number of non missing values.
One problem with ctf is that if even one row somehow gets deleted from one column, then we lose the correspondence between columns. For example, one column has 1,000 rows, and another column has 999 rows. We have no way to make a table out of these two columns, because we don't know which records correspond. CSV does not have this problem.
The simplest way I can imagine to address this issue is to preface each line with an integer. In the following example, line 2 is missing.
Without an indexing mechanism, and if the newline is missing, then we cannot say which row is missing.
This indexing mechanism would also give us an efficient way to store sparse data, i.e. data where most of the values are missing. For sparse data this can potentially be much more efficient than CSV, both in terms of storage space and reading speed, because the amount to store and read is linear in the number of non missing values.