用于在python中导入导出的csv联系人的解析器

时间:2012-07-15 09:47:46

标签: python gmail hotmail yahoo-mail

一个稍微通用的问题,但是任何机构都知道python实现或模块可以从google mail,hotmail,yahoo mail接收导出的csv文件并返回带有名称(名字,名字)的数组或字典电子邮件地址。

我知道如何读取csv文件,这不是问题,我更感兴趣的是可靠地解析分隔输出。我已经完成了google.csv的导出,并且有很多复制。

我对如何布局csv文件的结构感兴趣,而不是如何阅读

1 个答案:

答案 0 :(得分:1)

内置模块csvhttp://docs.python.org/library/csv.html

import csv

它支持分隔和转义内容。

转换为字典:

import csv
import StringIO
csv_txt = """fname,lname,phone,fax,notes
d,a,555,556,hollywood
c,b,666,667,beast"""

content = csv.reader( StringIO.StringIO(csv_txt))
headings = content.next()
print [dict((headings[col], row[col]) for col in xrange(len(row))) 
       for row in content]

结果:

[{'lname': 'a', 'phone': '555', 'fax': '556', 'notes': 'hollywood', 'fname': 'd'},
 {'lname': 'b', 'phone': '666', 'fax': '667', 'notes': 'beast', 'fname': 'c'}]