From: Richard Jones Date: Thu, 24 Sep 2009 10:22:17 +0000 (+0100) Subject: virt-df: Add note about parsing CSV. X-Git-Tag: 1.0.73~16 X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=commitdiff_plain;h=f8a96c659616b4e88bb2e6af8e23deea3bd96f0c virt-df: Add note about parsing CSV. --- diff --git a/df/virt-df b/df/virt-df index 21ba791..78eb25c 100755 --- a/df/virt-df +++ b/df/virt-df @@ -107,8 +107,9 @@ my $csv; =item B<--csv> -Write out the results in CSV format (comma-separated values). -This format can be imported easily into databases and spreadsheets. +Write out the results in CSV format (comma-separated values). This +format can be imported easily into databases and spreadsheets, but +read L below. =cut @@ -309,6 +310,30 @@ sub human_size } } +=head1 NOTE ABOUT CSV FORMAT + +Comma-separated values (CSV) is a deceptive format. It I like +it should be easy to parse, but it is definitely not easy to parse. + +Myth: Just split fields at commas. Reality: This does I work +reliably. This example has two columns: + + "foo,bar",baz + +Myth: Read the file one line at a time. Reality: This does I +work reliably. This example has one row: + + "foo + bar",baz + +For shell scripts, use C (L +also packaged in major Linux distributions). + +For other languages, use a CSV processing library (eg. C +for Perl or Python's built-in csv library). + +Most spreadsheets and databases can import CSV directly. + =head1 SEE ALSO L,