以一個文件中的某一列作為標準列施符,從另一個文件中將標準列對應(yīng)的內(nèi)容提取出來
文件1:GENE ? ID ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文件2:GENE ?ID ?S1 ?S2 ?S3 ?S4
????????????gene1 ? 01 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?gene5 ?05 ? a1 ?a2 ?a3 ?a4
? ? ? ? ? ? gene2 ? 02 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?gene1 ?01 ? b1 ?b2 ?b3 ?b4
將文件1中基因列從文件2中對應(yīng)的內(nèi)容提取出來:
import pandas as pd ? ? ? #使用pandas包
genelist = list(pd.read_csv("genetype6list.csv")["GENE"]) ? ?#讀入genetype6list.csv文件(即文件1),選擇GENE的列以列表形式寫入到genelist中
target = pd.read_csv("met_expfold_11.csv",index_col=0) ? ? #讀入met_expfold_11.csv文件(即文件2)驱负,index_col=0是gene列的索引值(即第一列)邑雅,讀入到target中
target.loc[genelist].to_csv("result.csv") ? ? #將geelist中的基因所在的行從target中提取出來乒验,并寫入到文件名為result.csv的文件中。
python的快捷方式Ctrl+Alt+0
若文件2:micRNA ?UP/DOWN ?GENE ?ID ?S1 ?S2 ?S3 ?S4
? ? ? ? ? ? ? ? micRNA1 ? ? up ? ? ? ? ?gene5 ?05 ? a1 ?a2 ?a3 ?a4
? ? ? ? ? ? ? ? micRNA2 ? ?down ? ? ? gene1 ?01 ? b1 ?b2 ?b3 ?b4
將存在于文件1中的基因在文件2中對應(yīng)的內(nèi)容提取出來蒂阱,且不改變各部分的位置锻全。代碼如下:
import pandas as pd
genelist = list(pd.read_csv("genetype6list.csv")["GENE"])
target = pd.read_csv("met_expfold_11.csv") #如果使用index=2,是將文件2的gene這一列作為索引值录煤,輸出結(jié)果gene列會從第3列變到第一列鳄厌,所以為了不改變輸出內(nèi)容,這里不定義索引列妈踊;
target.index=target['gene'] #單獨定義target文件的索引列
target.loc[genelist].to_csv("result.csv"了嚎,index=False) #輸出文件內(nèi)容但不輸出索引列。