我在拆分数据时遇到问题。我在CSV文件中有如下数据:
"a";"b";"c;d";"e"
问题是,当我使用line.split(";")
功能时,它甚至会在c
和d
之间分割。我不希望将c
和d
分开。稍后我需要将这四个值存储在表中的四个不同列中,但是使用此函数我会得到五个不同的列。
我希望结果为"a" "b" "cd" "e"
。
我尝试了line.split('";"')
,但没有帮助。
答案 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()函数