CSV as a data format is actually quite powerful, flexible and simple.
In order for it to work, however, we need to agree on some ground rules.
The ground rules are simply this:
1) The first line must *always* be the header. This is not optional.
2) The field separator must be chosen.
3) The names of the columns must be decided on.
4) The column names should be case insensative.
5) The columns need to be defined required or optional.
6) This all needs to be documented somewhere.
The reason for the header being required is you can do column name to
column position mapping. This makes the CSV column layout not fixed. The
columns can be in whichever order each person finds appropriate.
#2 is pretty much already chosen as | seems to be the most common one
(one of my favorites as it rarely appears in text).
There are some already commonly used column names at this point, so we
should make a list of what those are and which we are going to use.
I think the rest are self explanatory. :)
Let's discuss!!
-brian