2015-09-23 67 views
1

在我的csv文件我有一個分隔以下記錄,括號:如何使用非標準分割記錄分隔符

(a1,a2,a3),(b1,b2,b3),(c1,c2,c3),(d1,d2,d3) 

如何將數據分割成一個列表,以便得到更多的東西像這樣:

a1,a2,a3 
b1,b2,b3 
c1,c2,c3 
d1,d2,d3 

目前我的Python代碼如下所示:

dump = open('sample_dump.csv','r').read() 
splitdump = dump.split('\n') 
print splitdump 
+0

所以要A1,A2,A3作爲單個項目列表或3個獨立項目 –

回答

0

你可以做一些ALO納克的線路:

  • 刪除第一個和最後括號
  • 斯普利特),(字符序列

要通過自定義字符串分割,只需將其添加作爲參數到拆分方法,例如:

line.split("),(") 

這是一個有點哈克,所以你必須根據你的輸入數據格式的任何預期的改變來概括(如你的第一個/最後一個字符是否總是括號?)。

0

試試這個,先被分割的"),"然後,加入由(再次分裂至左元組沒有括號

_line = dump.split("),") 
_line = ''.join(_line).split("(") 
print _line 
>> ['', 'a1,a2,a3,', 'b1,b2,b3,', 'c1,c2,c3,', 'd1,d2,d3'] 
#drop first empty element 
print _line.pop(0) 
>> ['a1,a2,a3,', 'b1,b2,b3,', 'c1,c2,c3,', 'd1,d2,d3'] 
0

首先你需要,你需要以執行,讓您的結果的步驟,這裏有一個哈克溶液:

  • 除去第一和最後括號
  • 使用),(作爲組分隔,分割
  • 分割各組由,

線= '(A1,A2,A3),(B1,B2,B3),(C1,C2,C3),(D1,D2,D3)'

[group.split( ' '),用於在線路[1組:-1] .split('),(')]