getting fieldnames from Dictreader before reading lines

Vincent Davis vincent at vincentdavis.net
Sat May 9 19:01:34 EDT 2015


Not sure what I was doing wrong, it seems to work now.

Vincent Davis
720-301-3003

On Sat, May 9, 2015 at 4:46 PM, Vincent Davis <vincent at vincentdavis.net>
wrote:

> 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/2b3b45c4/attachment.html>


More information about the Python-list mailing list