2011-05-26 145 views
1

我有两种类型的CSV有像这样的数据:CSV文件在Python中阅读

格式1从csv中读取从电子表格创建两个coloums。从CSV

datas = [[u'Woeoe;"[email protected]"'], [u'wqqq;"[email protected]"'], [u'Asasasa;"[email protected]"']] 

格式2读取从文本编辑器创建另存为.csv格式,并具有数据,如

fname lname,[email protected] 
fname1 lname2 ,[email protected] 
datas = [[u'Vaada sasoe ', u'[email protected]'], [u'skdod asksd ', u'[email protected]']] 

我已阅读与CSV阅读这些文件:

reader = csv.reader(input, quotechar='"', delimiter=',') 
datas = [] 
for line in reader: 
    datas.append(line) 

怎么办我处理这两种不同格式的csv阅读器输出?是他们的任何方式,我可以转换数据,而阅读到一个简单的逗号分隔的格式,如format2上面提到,如果我输入任何类型的csv?基本上我想要读取数据应始终以format2格式。

回答

2

第一个文件使用“;”作为分隔符。所以,你只需要向读者说。

尝试读取与csv.reader(input, quotechar='"', delimiter=';')

+0

的第一个文件我想这也是而是spredsheet CSV它给我出来放像[“XOD SDO”,“[email protected]”],这是正确的,但对于CSV我从文本板创建并保存为csv它给我的结果就像['xod sdo,xod @ gmail.com']这不应该发生。我使用ubuntu环境。 – Shashi 2011-05-26 09:45:28

+0

@Shashi:停止在文字板中创建CSV。你这样做是错的。 – 2011-05-26 09:50:54

+0

由于您的文字板上的文字,您应该使用您的阅读器的第一个版本,这是正确的。你应该有一个阅读器用于Excel,另一个用于文本文件。也许你可以更多地告诉我们你在做什么的背景?你必须留下一个普遍的读者? – Kaltezar 2011-05-26 09:52:16