我有一个包含三列的 csv 文件 my_csv.csv
,我可以使用 spliCsv
读取它,如下所示:
csv_ch.splitCsv(header:false,sep:',').map{row->tuple(row[0],row[1],row[2])}.view()
[chr1, 0, 1 10]
[chr1, 1, 10 20]
[chr1, 2, 20 30]
[chr2, 0, 1 10]
[chr2, 1, 10 20]
[chr2, 2, 20 30]
[chr3, 0, 1 10]
[chr3, 1, 10 20]
[chr3, 2, 20 30]
...
我有另一个频道 map_ch
,看起来像
map_ch.view()
[chr1,[map1.txt]
chr2,[map2.txt]
chr3,[mp3.txt]
chr4,[mp4.txt]]
....
现在,我想得到:
[chr1, 0, 1 10,[map1.txt]
[chr1, 1, 10 20,[map1.txt]
[chr1, 2, 20 30,[map1.txt]]
[chr2, 0, 1 10,[map2.txt]
[chr2, 1, 10 20,[map2.txt]
[chr2, 2, 20 30,[map2.txt]]
[chr3, 0, 1 10,[map3.txt]]
[chr3, 1, 10 20,[map3.txt]
[chr3, 2, 20 30,[map3.txt]]
如果我使用 join
运算符,我只会得到
[chr1, 0, 1 10,[map1.txt]
[chr2, 0, 1 10,[map2.txt]
[chr3, 0, 1 10,[map3.txt]]
这不是我需要的
答案 0 :(得分:0)
组合运算符发挥了神奇的作用。
map_ch.combine(csv_ch,by:0)
它正是我所需要的。