我有一个巨大的文件(a.txt)如下所示,文件中有一个特殊标记将数据分成组
a1
a2
$$$$$$$$
a1
c1
b1
c2
$$$$$$$$
d1
d2
$$$$$$$$
...
我想使用如下的python代码:
line = sc.textFile("a.txt")
line1 = line.filter() or line.filter.map()...
...
将组项划分为多个组,如下所示: (a1,a2),(a1,c1,b1,c2),(d1,d2)....但是无法弄清楚怎么做,有人可以帮忙吗?
答案 0 :(得分:1)
import itertools
df = pd.read_clipboard(header=None)
mn = df[0].tolist()
def isplit(iterable,splitters):
return [list(g) for k,g in itertools.groupby(iterable,lambda x:x in splitters) if not k]
isplit(mn, ('$$$$$$$$',))
Out[84]: [['a1', 'a2'], ['a1', 'c1', 'b1', 'c2'], ['d1', 'd2']]