2015-09-23 40 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('),(')]