1
我一直在使用SmarterCSV将bed格式文件转换为csv文件并更改列名称。如何使用Ruby将多个CSV文件合并为一个大的CSV文件?
现在我已经收集了几个CSV文件,并且希望将它们合并为一个大的CSV文件。
在test3.csv,有三列,chromosome
,start_site
和end_site
将被使用,而其他三个列,binding_site_pattern
,score
和strand
该将被移除。
通过增加三个新列到test3.csv文件时,数据都在transcription_factor
列都一样:Cmyc
,在cell_type
列:PWM
,在project_name
列:JASPAR
。
任何人对此有任何意见?
test1.csv
transcription_factor,cell_type,chromosome,start_site,end_site,project_name
Cmyc,GM12878,11,809296,809827,ENCODE
Cmyc,GM12878,11,6704236,6704683,ENCODE
test2.csv
transcription_factor,cell_type,chromosome,start_site,end_site,project_name
Cmyc,H1ESC,19,9710417,9710587,ENCODE
Cmyc,H1ESC,11,541754,542137,ENCODE
test3.csv
chromosome,start_site,end_site,binding_site_pattern,score,strand
chr1,21942,21953,AAGCACGTGGT,1752,+
chr1,21943,21954,AACCACGTGCT,1335,-
希望的组合的结果:
transcription_factor,cell_type,chromosome,start_site,end_site,project_name
Cmyc,GM12878,11,809296,809827,ENCODE
Cmyc,GM12878,11,6704236,6704683,ENCODE
Cmyc,H1ESC,19,9710417,9710587,ENCODE
Cmyc,H1ESC,11,541754,542137,ENCODE
Cmyc,PWM,1,21942,21953,JASPAR
Cmyc,PWM,1,21943,21954,JASPAR
感谢它真的有帮助,顺便说一句,*的意思是什么? – Michael
@ user3239006,它是所谓的[“splat”操作符](http://endofline.wordpress.com/2011/01/21/the-strange-ruby-splat/),它对数组执行操作。它在这里用来将'hs'数组“解包”为'values_at'的多个单独参数。 –
明白了。谢谢。 – Michael