溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何用R語言XML包獲得html文件中的表格

發(fā)布時(shí)間:2021-07-10 14:35:19 來源:億速云 閱讀:244 作者:chen 欄目:大數(shù)據(jù)

本篇內(nèi)容主要講解“如何用R語言XML包獲得html文件中的表格”,感興趣的朋友不妨來看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“如何用R語言XML包獲得html文件中的表格”吧!

 需求

使用snpEff軟件對(duì)vcf格式文件進(jìn)行注釋后會(huì)生成一個(gè)snpEff_summary.html;這個(gè)文件是對(duì)vcf格式文件中的內(nèi)容進(jìn)行的統(tǒng)計(jì),結(jié)果會(huì)以表格和圖片的形式在html文件里展示。我現(xiàn)在想把html中的數(shù)據(jù)提取出來,自己來做圖。

 參考文章
  • 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")

# 以上代碼是固定的寫法
# 下面的代碼想獲得第幾個(gè)表格,中括號(hào)中的數(shù)字就改成幾

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


  • 結(jié)果以數(shù)據(jù)框的形式存儲(chǔ)


 以上功能使用python的BeautifulSoup模塊應(yīng)該也可以實(shí)現(xiàn),如果有時(shí)間回頭看一下自己之前寫的利用python的BeautifulSoup模塊抓取火箭當(dāng)家球星哈登數(shù)據(jù)的那篇筆記,爭(zhēng)取利用python的BeautifulSoup模塊也來實(shí)現(xiàn)一下本文提到的這個(gè)需求。
 另外vcftools工具只保留vcf文件中的二等位基因
vcftools --vcf input.vcf --min-alleles 2 --max-alleles 2 --recode --recode-INFO-all --out output_vcf_prefix
 


  • vcftools的幫助文檔



 --min-alleles <integer>
 --max-alleles <integer>
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




到此,相信大家對(duì)“如何用R語言XML包獲得html文件中的表格”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI