python csv writer if row key does not exist
<p>The following script is erroring out:</p>

<pre><code>import csv,time,string,os,requests, datetime

test = "\\\\network\\Shared\\test.csv"

fields = ["id", "Expiration Date", "Cost", "Resale" ]

with open(test) as infile, open("c:\\upload\\tested.csv", "wb") as outfile:
    r = csv.DictReader(infile)
    w = csv.DictWriter(outfile, fields, extrasaction="ignore")
    r = (dict((k, v.strip()) for k, v in row.items() if v) for row in r)

    wtr = csv.writer( outfile )                                                                                                                                                                                                                                                                                                                                         
    wtr.writerow(["id", "upload_date", "cost", "resale"])
    for i, row in enumerate(r, start=1):
        row['id'] = i
        print(row['Expiration Date']
        row['Expiration Date'] = datetime.datetime.strptime(row['Expiration Date'][:10], "%m/%d/%Y").strftime("%Y-%m-%d")
        w.writerow(row)


D:\Python\Scripts&gt;python test.py
Traceback (most recent call last):
  File "test.py", line 18, in &lt;module&gt;
    print(row['Expiration Date'])
KeyError: 'Expiration Date'
</code></pre>

<p>So I think I understand what's going on - something like this from the original file:</p>

<pre><code>Expiration Date     Cost     Resale
2016-01-01          1.00     2.00
                    1.42     2.42
2016-05-02          1.45     9.00
</code></pre>

<p>From what I can gather, there is a row where the expiration date column is NOT populated.  How do I force DictWriter to skip over blanks - assuming that is the cause of my error?</p>