从CSV到列表的字符串 - Python

时间:2014-12-24 14:09:06

标签: list python-2.7 csv

我不明白。我有一个包含以下内容的CSV数据:

wurst;ball;hoden;sack
1;2;3;4
4;3;2;1

我想迭代CSV数据并将头放在一个列表中,将内容放在另一个列表中。到目前为止,我的代码是:

data = [ i.strip() for i in open('test.csv', 'r').readlines() ]

for i_c, i in enumerate(data):
    if i_c == 0:
            heads = i
    else:
            content = i

heads.split(";")
content.split(";")
print heads

它总是返回以下字符串,而不是有效列表。

wurst;ball;hoden;sack

为什么拆分不适用于此字符串?

问候和圣诞快乐, 扬

1 个答案:

答案 0 :(得分:5)

split方法返回列表,它不会修改对象。尝试:

heads = heads.split(";")
content = content.split(";")

我也注意到你的数据似乎都是整数。您可以考虑使用以下content

content = [int(i) for i in content.split(";")]

原因是split返回一个字符串列表,看起来您可能需要稍后在代码中将它们作为数字处理。当然,如果您希望在某些时候出现非数字数据,请忽略它。