title: Delete specific rows and columns from csv using Python in one step
body: <p>I have a csv file where I need to delete the second and the third row and 3rd to 18th column. I was able to do get it to work in two steps, which produced an interim file. I am thinking that there must be a better and more compact way to do this. Any suggestions would be really appreciated.</p>
  
  <p>Also, if I want to remove multiple ranges of columns, how do I specify in this code. For example, if I want to remove columns 25 to 29, in addition to columns 3 to 18 already specified, how would I add to the code? Thanks</p>
  
  <pre><code>remove_from = 2
  remove_to = 17
  
  with open('file_a.csv', 'rb') as infile, open('interim.csv', 'wb') as outfile: 
  
      reader = csv.reader(infile)
      writer = csv.writer(outfile)
  
      for row in reader:
          del row[remove_from : remove_to]
          writer.writerow(row)
  
  with open('interim.csv', 'rb') as infile, open('file_b.csv', 'wb') as outfile:
  
      reader = csv.reader(infile)
      writer = csv.writer(outfile)
  
      writer.writerow(next(reader))  
  
      reader.next()
      reader.next()
  
      for row in reader: 
          writer.writerow(row)
  </code></pre>