python将csv解析为列表

时间:2011-10-25 21:41:30

标签: python csv

我有一个csv文件,我想将数据解析到列表中。 所以我使用python csv模块来读取它 所以基本上如下:

import csv
fin = csv.reader(open(path,'rb'),delimiter=' ',quotechar='|')
print fin[0]
#gives the following
['"1239","2249.00","1","3","2011-02-20"']

#lets say i do the following
ele = str(fin[0])
ele = ele.strip().split(',')    
print ele
#gives me following  
['[\'"1239"', '"2249.00"', '"1"', '"3"', '"2011-02-20"\']']

现在     ele [0]给了我 - >输出---> [' “1239”

我如何摆脱那种[' 最后,我想做的是得到1239并将其转换为整数..? 任何线索为什么会发生这种情况 感谢

编辑:* 没关系..感谢第一条评论*

2 个答案:

答案 0 :(得分:1)

将分隔符更改为“,”,您将从csv阅读器中获取这些值的列表。

答案 1 :(得分:0)

这是因为您要将列表转换为字符串,因此无需执行此操作。抓取列表的第一个元素(在这种情况下,它是一个字符串)并解析:

>>> a = ['"1239","2249.00","1","3","2011-02-20"']
>>> a
['"1239","2249.00","1","3","2011-02-20"']
>>> a[0]
'"1239","2249.00","1","3","2011-02-20"'
>>> b = a[0].replace('"', '').split(',')
>>> b[-1]
'2011-02-20'

当然在替换和拆分字符串方法之前,你应该检查类型是字符串还是处理异常(如果不是。)

Blahdiblah也是正确的,你的分隔符可能是错误的。