Commit 2874868b authored by Skip Montanaro's avatar Skip Montanaro

* minor tweaks relating to the package nature of the beast

* added an (incomplete) description of the utils.Sniffer class
parent 59dcca3b
......@@ -2,6 +2,7 @@
\declaremodule{standard}{csv}
\modulesynopsis{Write and read tabular data to and from delimited files.}
\sectionauthor{Skip Montanaro}{skip@pobox.com}
\versionadded{2.3}
\index{csv}
......@@ -18,21 +19,21 @@ vary, the overall format is similar enough that it is possible to write a
single module which can efficiently manipulate such data, hiding the details
of reading and writing the data from the programmer.
The \module{csv} module implements classes to read and write tabular data in
The \module{csv} package implements classes to read and write tabular data in
CSV format. It allows programmers to say, ``write this data in the format
preferred by Excel,'' or ``read data from this file which was generated by
Excel,'' without knowing the precise details of the CSV format used by
Excel. Programmers can also describe the CSV formats understood by other
applications or define their own special-purpose CSV formats.
The \module{csv} module's \class{reader} and \class{writer} objects read and
The \module{csv} package's \class{reader} and \class{writer} objects read and
write sequences. Programmers can also read and write data in dictionary
form using the \class{DictReader} and \class{DictWriter} classes.
\note{The first version of the \module{csv} module doesn't support Unicode
\note{The first version of the \module{csv} package doesn't support Unicode
input. Also, there are currently some issues regarding \ASCII{} NUL
characters. Accordingly, all input should generally be plain \ASCII{} to be
safe. These restrictions will be removed in the future.}
characters. Accordingly, all input should generally be printable \ASCII{}
to be safe. These restrictions will be removed in the future.}
\begin{seealso}
% \seemodule{array}{Arrays of uniformly types numeric values.}
......@@ -42,10 +43,10 @@ safe. These restrictions will be removed in the future.}
\end{seealso}
\subsection{Module Contents}
\subsection{Package Contents}
The \module{csv} module defines the following functions:
The \module{csv} package defines the following functions:
\begin{funcdesc}{reader}{csvfile\optional{,
dialect=\code{'excel'}\optional{, fmtparam}}}
......@@ -108,7 +109,7 @@ Return the names of all registered dialects.
\end{funcdesc}
The \module{csv} module defines the following classes:
The \module{csv} package defines the following classes:
\begin{classdesc}{DictReader}{csvfile, fieldnames\optional{,
restkey=\code{None}\optional{,
......@@ -262,11 +263,33 @@ according to the current dialect.
\end{methoddesc}
\subsection{Submodule \code{utils}}
The \module{csv} package contains a \module{utils} submodule which defines
the following class.
\begin{classdesc}{Sniffer}{\optional{sample=16384}}
The \class{Sniffer} class is used to deduce the format of a CSV file. The
optional \var{sample} argument to the constructor specifies the number of
bytes to use when determining Dialect parameters.
\begin{methoddesc}{sniff}{fileobj}
Analyze the next chunk of \var{fileobj} and return a \class{Dialect} class
reflecting the parameters found.
\end{methoddesc}
\begin{methoddesc}
\end{methoddesc}
\end{classdesc}
\subsection{Examples}
The ``Hello, world'' of csv reading is
\begin{verbatim}
import csv
reader = csv.reader(file("some.csv"))
for row in reader:
print row
......@@ -275,6 +298,7 @@ The ``Hello, world'' of csv reading is
The corresponding simplest possible writing example is
\begin{verbatim}
import csv
writer = csv.writer(file("some.csv", "w"))
for row in someiterable:
writer.writerow(row)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment