]> granicus.if.org Git - python/commitdiff
* minor tweaks relating to the package nature of the beast
authorSkip Montanaro <skip@pobox.com>
Thu, 24 Apr 2003 18:47:31 +0000 (18:47 +0000)
committerSkip Montanaro <skip@pobox.com>
Thu, 24 Apr 2003 18:47:31 +0000 (18:47 +0000)
* added an (incomplete) description of the utils.Sniffer class

Doc/lib/libcsv.tex

index 283e40152138c65d5608a990468ccebf95f7894b..ec2dbcb34bbdec657f5f5e82a13407f958138f9b 100644 (file)
@@ -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)