title: Python CSV multithreading queue() issue
body: <p>I am at the beginning of writing a multithreaded script that reads input from csv files with a single column of data I wish to read into a <code>queue()</code>.  That would happen in <code>f(q):</code>.  Then I will read from the queue in the worker function and do some stuff then output a new csv with data.  Where I am stuck is that no matter where I put <code>q.put([urls])</code> indented I only manage to capture a single value in the queue().  Why is it not looping through the urls like the <code>print urls</code> statement does? Any help is appreciated.  Thanks in advance.  </p>
  
  <pre><code># -*- coding: utf-8 -*-
  import requests
  import csv
  from multiprocessing import Process, Queue, Pool
  
  #read rows in input file into the queue()
  def f(q):
      with open('test.csv', 'rb') as f:
          reader = csv.reader(f)
          for row in reader:
              urls = row[0]
              print urls
              q.put([urls])
  
  
  #process the queue() and write output
  def worker():
      # do work
      # ...
      # here
  
  if __name__ == '__main__':
      q = Queue()
      p = Process(target=f, args=(q,))
      p.start()
      print q.get()    # prints urls as queue output debug
      p.join()
  </code></pre>