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