Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #90273

getting fieldnames from Dictreader before reading lines

From Vincent Davis <vincent@vincentdavis.net>
Date 2015-05-09 16:46 -0600
Subject getting fieldnames from Dictreader before reading lines
Newsgroups comp.lang.python
Message-ID <mailman.290.1431211607.12865.python-list@python.org> (permalink)

Show all headers | View raw


[Multipart message — attachments visible in raw view] - view raw

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​

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

getting fieldnames from Dictreader before reading lines Vincent Davis <vincent@vincentdavis.net> - 2015-05-09 16:46 -0600

csiph-web