美文网首页精华文章收藏
两个文件两列匹配

两个文件两列匹配

作者: chaimol | 来源:发表于2019-03-28 20:57 被阅读2次

    因工作中经常遇到在两个文件中匹配相同列的内容,用python3实现了。
    参考链接
    两个源文件格式在github

    #!/bin/bash
    
    #此脚本是实现玉米V4版本基因的功能注释
    #gene_function.txt是对应的注释库文件
    #out.csv是需要添加注释的文件
    #输出文件为
    #@author:chaimol@163.com
    
    import pandas as pd
    df1=pd.read_csv('gene_function.csv',encoding='utf-8)
    df2=pd.read_csv('out.csv',encoding='utf-8')
    
    
    #匹配相同内容的行,匹配到之后返回匹配到的行,未匹配到则不返回
    index=df1['geneid'].isin(df2['geneid'])
    outfile=df1[index]
    outfile.to_csv('outfile.csv',index=False,encoding='utf-8')
    
    
    
    #匹配相同内容的行,匹配到之后添加内容到右侧文件。为匹配到返回的是NA。
    outer=pd.merge(df1,df2,how='right')
    outer.to_csv('outer_function.csv',index=False,encoding='utf-8')
    

    pandas这个包在安装时可能会出错,直接使用pip install 安装,具体参照官网。

    在读取csv文件时,会经常报错。原因是csv的格式不是utf-8,用记事本打开该csv文件,调整下面的编码格式为utf-8.后缀名仍然是csv就可以了。

    相关文章

      网友评论

        本文标题:两个文件两列匹配

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