python split函数

时间:2011-04-05 13:10:45

标签: python

我在拆分数据时遇到问题。我在CSV文件中有如下数据:

"a";"b";"c;d";"e"

问题是,当我使用line.split(";")功能时,它甚至会在cd之间分割。我不希望将cd分开。稍后我需要将这四个值存储在表中的四个不同列中,但是使用此函数我会得到五个不同的列。

我希望结果为"a" "b" "cd" "e"

我尝试了line.split('";"'),但没有帮助。

2 个答案:

答案 0 :(得分:12)

import csv
reader = csv.reader(open("yourfile.csv", "rb"), delimiter=';')
for row in reader:
    print row

试试这个。

import csv
reader = csv.reader(open("yourfile.csv", "rb"), delimiter=';', quoting=csv.QUOTE_NONE )
for row in reader:
    print row

这个^^^如果你想保留引号

修改:如果您希望从字段内容';' = 'c;d'案例中删除'cd' - 您可以对返回的行执行后期处理,像这样的东西:

import csv
reader = csv.reader(open("yourfile.csv", "rb"), delimiter=';', quoting=csv.QUOTE_NONE )
for row in reader:
    print [item.replace(';', '') for item in row]   

答案 1 :(得分:0)

在其他情况下,可以使用shlex.split()函数