查看: 96|回复: 4

[其他] python 表格合并

[复制链接]
  • TA的每日心情
    yes!
    3 天前
  • 签到天数: 179 天

    连续签到: 1 天

    [LV.7]常住居民III

    版主

    Rank: 10Rank: 10Rank: 10

    主题
    13
    奥币
    1164
    积分
    419
    注册时间
    2015.12.29
    在线时间
    87 小时

    发表于 2019.1.10 16:11:26 | 显示全部楼层 |阅读模式

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    分享一个自己写的python合并表格的脚本,使用的时候可以根据自己的表格灵活调整

    #!/bin/python/Python-2.7.14/python
    #write by yulu
    from collections import OrderedDict
    import sys
    if __name__ == '__main__':
        if len(sys.argv) < 2:
            sys.stderr.write('Usage and example\n\t script table1(2 row) table2 > result\n')
            sys.exit(1)
    script,table1,table2 = sys.argv
    ID = OrderedDict()
    with open(table1,'r') as f:
        for line in f:
            row = line.rstrip().split('\t')
            ID[row[0]] = row[1]
    with open(table2,'r') as f1:
        for line1 in f1:
            row1 = line1.rstrip().split('\t')
            geneID = row1[0]
            if geneID in ID.keys():
                #print line1.rstrip() + '\t' + ID[geneID]
                print geneID + '\t' + ID[geneID] + '\t' + '\t'.join(row1[1:])
            if geneID not in ID.keys():
                print geneID + '\t' + 'none' + '\t' + '\t'.join(row1[1:])



    评分

    参与人数 1奥币 +5 收起 理由
    基迪奥-李泽标 + 5 楼主V5!

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情
    yes!
    3 天前
  • 签到天数: 179 天

    连续签到: 1 天

    [LV.7]常住居民III

    版主

    Rank: 10Rank: 10Rank: 10

    主题
    13
    奥币
    1164
    积分
    419
    注册时间
    2015.12.29
    在线时间
    87 小时

     楼主| 发表于 2019.1.10 16:12:03 | 显示全部楼层
    贴上来的注意,缩进哦
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    害羞
    12 小时前
  • 签到天数: 427 天

    连续签到: 34 天

    [LV.9]以坛为家II

    迅猛龙

    Rank: 8Rank: 8

    主题
    24
    奥币
    2689
    积分
    1255
    注册时间
    2016.1.8
    在线时间
    277 小时

    发表于 2019.1.10 17:11:00 | 显示全部楼层
    不明觉厉
    回复

    使用道具 举报

  • TA的每日心情
    害羞
    2018.11.29 15:44
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    钵水母

    Rank: 3Rank: 3

    主题
    0
    奥币
    32
    积分
    58
    注册时间
    2018.5.15
    在线时间
    23 小时

    发表于 7 天前 | 显示全部楼层
    大佬,是通过id提取两个表相同的信息吗
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    yes!
    3 天前
  • 签到天数: 179 天

    连续签到: 1 天

    [LV.7]常住居民III

    版主

    Rank: 10Rank: 10Rank: 10

    主题
    13
    奥币
    1164
    积分
    419
    注册时间
    2015.12.29
    在线时间
    87 小时

     楼主| 发表于 3 天前 | 显示全部楼层
    zhang127581 发表于 2019.1.11 11:49
    大佬,是通过id提取两个表相同的信息吗

    是的,或者ID在那一列里面,我写的in 没有用 ==
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表