如何用R语言XML包获得html文件中的表格

本篇内容主要讲解“如何用R语言XML包获得html文件中的表格”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何用R语言XML包获得html文件中的表格”吧!

创新互联-专业网站定制、快速模板网站建设、高性价比莲花网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式莲花网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖莲花地区。费用合理售后完善,十多年实体公司更值得信赖。

 需求

使用snpEff软件对vcf格式文件进行注释后会生成一个snpEff_summary.html;这个文件是对vcf格式文件中的内容进行的统计,结果会以表格和图片的形式在html文件里展示。我现在想把html中的数据提取出来,自己来做图。

 参考文章
  • https://stackoverflow.com/questions/14517732/how-to-get-table-data-from-html-table-in-xml
    How to get table data from html table in xml

 使用R语言的 XML包

使用到的R语言代码

library(XML)
doc<-htmlParse("snpEff_summary.html")
total_table<-getNodeSet(doc,"//table")

# 以上代码是固定的写法
# 下面的代码想获得第几个表格,中括号中的数字就改成几

df3<-readHTMLTable(total_table[[3]])
df3
class(df3)
 

  • 结果以数据框的形式存储

 以上功能使用python的BeautifulSoup模块应该也可以实现,如果有时间回头看一下自己之前写的利用python的BeautifulSoup模块抓取火箭当家球星哈登数据的那篇笔记,争取利用python的BeautifulSoup模块也来实现一下本文提到的这个需求。
 另外vcftools工具只保留vcf文件中的二等位基因
vcftools --vcf input.vcf --min-alleles 2 --max-alleles 2 --recode --recode-INFO-all --out output_vcf_prefix
 

  • vcftools的帮助文档

 --min-alleles 
 --max-alleles 
Include only sites with a number of alleles greater than or equal to the "--min-alleles" value and less than or equal to  the  "--max-alleles" value. One of these options may be used without the other.
For example, to include only bi-allelic sites, one could use:
vcftools --vcf file1.vcf --min-alleles 2 --max-alleles 2

到此,相信大家对“如何用R语言XML包获得html文件中的表格”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


本文标题:如何用R语言XML包获得html文件中的表格
分享地址:http://azwzsj.com/article/pppsjh.html