如何使用Ruby将多个CSV文件合并为一个大CSV文件?

麦可

我一直在使用SmarterCSV将床格式文件转换为csv文件并更改列名。

现在,我收集了几个CSV文件,并希望将它们合并为一个大CSV文件。

在test3.csv,有三列,chromosomestart_siteend_site将要使用,其他三列,binding_site_patternscorestrand将被删除。

通过增加三个新列到test3.csv文件,数据都在同一transcription_factor列:Cmyccell_type列:PWMproject_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
雅各布·布朗
hs = %w{ transcription_factor cell_type chromosome start_site end_site project_name }

CSV.open('result.csv','w') do |csv|
  csv << hs
  CSV.foreach('test1.csv', headers: true) {|row| csv << row.values_at(*hs) }
  CSV.foreach('test2.csv', headers: true) {|row| csv << row.values_at(*hs) }
  CSV.foreach('test3.csv', headers: true) do |row|
    csv << ['Cmyc', 'PWM', row['chromosome'].match(/\d+/).to_s] + row.values_at('start_site', 'end_site') + ['JASPAR']
  end
end

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Pandas将每个文件夹的所有csv文件合并为一个大csv文件

来自分类Dev

使用PowerShell将多个CSV文件合并为一个

来自分类Dev

将多个CSV合并为一个,文件名作为Pandas中的列名

来自分类Dev

将多个csv文件合并为一个未对齐的python

来自分类Dev

Linux-将多个CSV文件合并为一个

来自分类Dev

将多个CSV文件合并为一个工作表,以维护日期时间格式

来自分类Dev

使用Python将单行.dat文件合并为一个.csv文件

来自分类Dev

使用AWK将两个CSV文件合并为一个

来自分类Dev

如何将多个 csv 文件合并为一个带有单个标题的 csv 文件,还可以根据特定列删除重复项

来自分类Dev

将单列CSV文件合并为一个14列的CSV文件

来自分类Dev

将多个带有重叠的ohlc csv合并为一个带有熊猫的分类csv文件

来自分类Dev

从多个csv文件中抓取一个特定的列并合并为一个

来自分类Dev

将多个VCF文件合并为一个大VCF文件

来自分类Dev

使用GNU Make,如何将多个文件合并为一个?

来自分类Dev

将多个文件流合并为一个文件?

来自分类Dev

如何将类似类型的.csv文件合并为一个并计算行数(不创建新文件)

来自分类Dev

将CSV文件合并为一个文件,没有重复的标题

来自分类Dev

将CSV文件合并为一个文件,没有重复的标题

来自分类Dev

Python:具有多个标题的 CSV 文件 - 合并为一个数据框?

来自分类Dev

如何将多个类似的.csv文件合并为具有给定结构的一个数据帧

来自分类Dev

将两个CSV文件合并为一个

来自分类Dev

将多个文件合并为一个

来自分类Dev

将多个php文件合并为一个

来自分类Dev

将多个txt文件合并为一个

来自分类Dev

将多个文件中的列合并为一个

来自分类Dev

将多个 zip 文件合并为一个

来自分类Dev

将多个文件合并为一个 Zip 存档

来自分类Dev

将一些csv文件合并为一个-不同数量的列

来自分类Dev

如何将多个topojson文件合并为一个topojson文件

Related 相关文章

  1. 1

    使用Pandas将每个文件夹的所有csv文件合并为一个大csv文件

  2. 2

    使用PowerShell将多个CSV文件合并为一个

  3. 3

    将多个CSV合并为一个,文件名作为Pandas中的列名

  4. 4

    将多个csv文件合并为一个未对齐的python

  5. 5

    Linux-将多个CSV文件合并为一个

  6. 6

    将多个CSV文件合并为一个工作表,以维护日期时间格式

  7. 7

    使用Python将单行.dat文件合并为一个.csv文件

  8. 8

    使用AWK将两个CSV文件合并为一个

  9. 9

    如何将多个 csv 文件合并为一个带有单个标题的 csv 文件,还可以根据特定列删除重复项

  10. 10

    将单列CSV文件合并为一个14列的CSV文件

  11. 11

    将多个带有重叠的ohlc csv合并为一个带有熊猫的分类csv文件

  12. 12

    从多个csv文件中抓取一个特定的列并合并为一个

  13. 13

    将多个VCF文件合并为一个大VCF文件

  14. 14

    使用GNU Make,如何将多个文件合并为一个?

  15. 15

    将多个文件流合并为一个文件?

  16. 16

    如何将类似类型的.csv文件合并为一个并计算行数(不创建新文件)

  17. 17

    将CSV文件合并为一个文件,没有重复的标题

  18. 18

    将CSV文件合并为一个文件,没有重复的标题

  19. 19

    Python:具有多个标题的 CSV 文件 - 合并为一个数据框?

  20. 20

    如何将多个类似的.csv文件合并为具有给定结构的一个数据帧

  21. 21

    将两个CSV文件合并为一个

  22. 22

    将多个文件合并为一个

  23. 23

    将多个php文件合并为一个

  24. 24

    将多个txt文件合并为一个

  25. 25

    将多个文件中的列合并为一个

  26. 26

    将多个 zip 文件合并为一个

  27. 27

    将多个文件合并为一个 Zip 存档

  28. 28

    将一些csv文件合并为一个-不同数量的列

  29. 29

    如何将多个topojson文件合并为一个topojson文件

热门标签

归档