0

我有一个my_csv.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]]

这不是我需要的

4

1 回答 1

0

组合运算符具有魔力。

map_ch.combine(csv_ch,by:0)

它给了我我需要的东西。

于 2021-05-10T18:41:36.777 回答