我有一个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并将其转换为整数..? 任何线索为什么会发生这种情况 感谢
编辑:* 没关系..感谢第一条评论*
答案 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也是正确的,你的分隔符可能是错误的。