2014-02-22 212 views
0

我一直在尋找這個幾個小時,我似乎無法找到任何有關它。Python row.get(正則表達式)

我解析一個.csv文件,我需要從中取出電子郵件地址。標題指出它是否是一封電子郵件,但它可能有不同的格式,我想用正則表達式來處理,但我不知道該怎麼做。

我的代碼的一部分是低於:

input_file = csv.DictReader(open("contacts.csv")) 
for row in input_file: 
if row.get('E-mail 1 - Value'): 
    print row.get('E-mail 1 - Value') 
elif row.get('E-mail 2 - Value'): 
    print row.get('E-mail 2 - Value') 

我希望能夠做這樣的事情:

input_file = csv.DictReader(open("contacts.csv")) 
for row in input_file: 
if row.get('E-mail*'): 
    print row.get('E-mail*') 

凡會抓住任何有開始使用電子郵件標頭,但我似乎無法弄清楚如何。我試圖使用re.search,但這不是我所需要的,因爲我不知道如何給它輸入字符串。預先感謝任何幫助!

威廉

+0

確定row.get是有效的?另外,你可以發佈一個csv的例子嗎? –

回答

1

下面是打印與「電子郵件」的每一行開始列的所有內容的例子:

input_file = csv.DictReader(open("contacts.csv")) 
for row in input_file: 
    for column in row.keys(): 
     if column.startswith("E-mail"): 
      print row[column] 
+0

這正是我需要的!非常感謝! –