PEP 305 - CSV File API
Carlos Ribeiro
cribeiro at mail.inet.com.br
Mon Feb 3 20:10:43 EST 2003
On Monday 03 February 2003 10:15 am, John Machin wrote:
> Carlos Ribeiro <cribeiro at mail.inet.com.br> wrote in message
> news:<mailman.1044231844.17120.python-list at python.org>...
>
> > And last, but not least, the CSV library has to take into account other
> > things that happen to be problematic, and that are locale-related:
> >
> > - reading dates from a CSV file
>
> Certainly dates are a problem in that they are presented differently
> to users in different locales, and most people don't bother to use the
> ISO standard when writing to a file --- however, in what way is
> reading dates from a CSV-format file any different to reading them
> from any other format?
Although CSV files are not required to be tabular, most CSV files are: each
line represents a single record (one 'row' of the table), and each record is
composed of a fixed number of fields that can be understood as its 'columns'.
Each column has data of a single type. In this situation, it would be useful
to be able to associate not only the column name, but also the default data
type used.
--> When reading CSV data, the default data type would be useful to
differentiate 'date' columns from 'string' columns. Although automatic
detection of date columns can be implemented, an option to 'force'
recognition of dates in secific formats would be useful (for instance,
automatic detection can't tell whether a date is in m/d/y and d/m/y format in
lots of cases).
--> More important, when *writing* CSV data, it is important to know the
correct column type and data format. Being able to correctly format all
locale-dependent data is important when you have to export information to
applications such as MS Excel, which *does* depend on this when importing
data from CSV files.
Of course, one could say that better support for formatting dates is just
'syntactic sugar'. That's right, but it does not make it any less useful,
specially if you consider the type of application that CSV files are used for
- importing and exporting data from different programs and even different
OSs.
p.s. BTW, MS Excel also chokes when importing numbers with the 'wrong' format
- it imports all such numbers as strings.
Carlos Ribeiro
cribeiro at mail.inet.com.br
More information about the Python-list
mailing list