getting fieldnames from Dictreader before reading lines

Vincent Davis vincent at vincentdavis.net
Sat May 9 18:46:18 EDT 2015


I am reading a file with Dictreader and writing a new file. I want use the
fieldnames in the Dictwriter from the reader. See below How should I be
doing this?

See how I am using reader.fieldnames in the the Dictwriter. I get an error
(below)

with open(readfile, 'r', encoding='utf-8', errors='ignore', newline='') as
csvread:
    reader = DictReader(csvread)
    with open(writefile, 'w') as csvwrite:
        writer = DictWriter(csvwrite, delimiter=',',
fieldnames=reader.fieldnames)
        for line in reader:
            pass

ValueError                                Traceback (most recent call
last)<ipython-input-13-0dac622bb8a9> in <module>()----> 1
reader.fieldnames()
/Users/vmd/anaconda/envs/py34/lib/python3.4/csv.py in fieldnames(self)
    94         if self._fieldnames is None:     95
try:---> 96                 self._fieldnames = next(self.reader)
97             except StopIteration:     98                 pass
ValueError: I/O operation on closed file.



Thanks
Vincent
​ Davis​
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-list/attachments/20150509/477f3745/attachment.html>


More information about the Python-list mailing list