2011-04-05 115 views
3

我在分割數據時遇到問題。我有數據作爲CSV文件如下:python分割函數

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

的問題是,當我用line.split(";")功能,它分裂甚至cd之間。我不想要cd分開。後來我需要將這四個值存儲在一個表中的四個不同列中,但是使用這個函數我得到了五個不同的列。

我想要結果爲"a" "b" "cd" "e"。我試過line.split('";"'),但沒有幫助。

+9

使用'csv'模塊解析CSV文件。 – kennytm 2011-04-05 13:12:17

+1

爲什麼'c'和'd'之間的';'應該被刪除? – 2011-04-05 13:12:32

回答

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 

,如果你想保留

引號這^^^

編輯:如果你想​​3210來自外地的內容('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] 
0

在其他情況下,可以使用的shlex.split()函數