merge from 3.1

This commit is contained in:
Eli Bendersky 2011-03-11 16:39:04 +02:00
commit a7a1c15111
1 changed files with 26 additions and 20 deletions

View File

@ -419,21 +419,24 @@ Examples
The simplest example of reading a CSV file::
import csv
reader = csv.reader(open("some.csv", newline=''))
with open('some.csv', newline='') as f:
reader = csv.reader(f)
for row in reader:
print(row)
Reading a file with an alternate format::
import csv
reader = csv.reader(open("passwd"), delimiter=':', quoting=csv.QUOTE_NONE)
with open('passwd') as f:
reader = csv.reader(f, delimiter=':', quoting=csv.QUOTE_NONE)
for row in reader:
print(row)
The corresponding simplest possible writing example is::
import csv
writer = csv.writer(open("some.csv", "w"))
with open('some.csv', 'w') as f:
writer = csv.writer(f)
writer.writerows(someiterable)
Since :func:`open` is used to open a CSV file for reading, the file
@ -442,7 +445,8 @@ encoding (see :func:`locale.getpreferredencoding`). To decode a file
using a different encoding, use the ``encoding`` argument of open::
import csv
reader = csv.reader(open("some.csv", newline='', encoding='utf-8'))
with open('some.csv', newline='', encoding='utf-8') as f:
reader = csv.reader(f)
for row in reader:
print(row)
@ -453,13 +457,15 @@ Registering a new dialect::
import csv
csv.register_dialect('unixpwd', delimiter=':', quoting=csv.QUOTE_NONE)
reader = csv.reader(open("passwd"), 'unixpwd')
with open('passwd') as f:
reader = csv.reader(f, 'unixpwd')
A slightly more advanced use of the reader --- catching and reporting errors::
import csv, sys
filename = "some.csv"
reader = csv.reader(open(filename, newline=''))
filename = 'some.csv'
with open(filename, newline='') as f:
reader = csv.reader(f)
try:
for row in reader:
print(row)