title: How to return to the beginning of a DictReader?
body: <p>If I call the <code>company_at_node</code> method (shown below) twice, it will only print a row for the first call. I thought maybe that I needed to <code>seek</code> back to the beginning of the reader for the next call, so I added
         <code>self.companies.seek(0)</code>
  to the end of the <code>company_at_node</code> method but DictReader has no attribute seek. Since the file is never closed (and since I didn't get an error message to that effect), I didn't think this was a <code>ValueError i/o operation on closed file</code> (which there are numerous questions about on SO)</p>
  
  <p>Is there a way to return to the beginning of a DictReader to iterate through a second time (i.e. a second function call)?</p>
  
  <pre><code>class CSVReader:
      def __init__(self):
          f = open('myfile.csv')
          self.companies = csv.DictReader(f)
  
  
      def company_at_node(self, node):
          for row in self.companies:
              if row['nodeid'] == node:
                  print row
          self.companies.seek(0)
  </code></pre>