美文网首页
提取文件内容extract.py

提取文件内容extract.py

作者: 小灰灰want_to_fly | 来源:发表于2018-09-25 14:55 被阅读0次

以一个文件中的某一列作为标准列,从另一个文件中将标准列对应的内容提取出来

文件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中对应的内容提取出来:

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中对应的内容提取出来,且不改变各部分的位置。代码如下:

import pandas as pd

genelist = list(pd.read_csv("genetype6list.csv")["GENE"])

target = pd.read_csv("met_expfold_11.csv") #如果使用index=2,是将文件2的gene这一列作为索引值,输出结果gene列会从第3列变到第一列,所以为了不改变输出内容,这里不定义索引列;

target.index=target['gene'] #单独定义target文件的索引列

target.loc[genelist].to_csv("result.csv",index=False) #输出文件内容但不输出索引列。

相关文章

网友评论

      本文标题:提取文件内容extract.py

      本文链接:https://www.haomeiwen.com/subject/ifqloftx.html