提取文件内容extract.py

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

文件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) #输出文件内容但不输出索引列。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容