在我的csv文件中,我在括号之间用a分隔了以下记录:
(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 :(得分:0)
您可以采取以下措施:
),(
字符序列要按自定义字符串拆分,只需将其作为参数添加到拆分方法中,例如:
line.split("),(")
有点hacky,所以你必须根据输入数据格式的任何预期变化进行推广(例如,你的第一个/最后一个字符是否总是括号?)。
答案 1 :(得分: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']
答案 2 :(得分:0)
首先,您需要执行所需的步骤才能获得结果,这是一个hacky解决方案:
),(
作为组分隔符,拆分,
line ='(a1,a2,a3),(b1,b2,b3),(c1,c2,c3),(d1,d2,d3)'
[group.split(',')for line in [1:-1] .split('),(')]