ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

用于操作excel表的python脚本

2019-08-26 06:57:06  阅读:135  来源: 互联网

标签:python excel


我正在尝试编写一个python脚本来操作excel电子表格.

假设是否,我有样本数据:

Gene        chrom    strand  TSS        TES         Name

NM_145215   chr5     +       135485168  135488045   Abhd11

NM_1190437  chr5     +       135485021  135488045   Abhd11

NM_1205181  chr14    +       54873803   54888844    Abhd4

NM_134076   chr14    +       54878906   54888844    Abhd4

NM_9594     chr2     +       31615464   31659747    Abl1

NM_1112703  chr2     +       31544075   31659747    Abl1

NM_207624   chr11    +       105829258  105851278   Abl1

NM_9598     chr11    +       105836521  105851278   Ace2

NM_1130513  chrX     +       160577273  160626350   Ace2

NM_27286    chrX     +       160578411  160626350   Ace2

对于那些相似的名称(第6列),我想要检索具有最少TSS的整行.
例如,对于前两行-Abhd11名称,我想在结果中保存第二行,因为TSS 135485021< 135485168.所以具有相同名称的所有集合. 任何想法和意见表示赞赏.

解决方法:

输入

如果可能的话,我会将excel文件保存为csv文件,然后使用csv module加载到python中.

或者你可以使用xlrd module for reading excel files – 虽然我没有使用过这个并且对它不太了解.

openpyxl是解析excel文件的另一个选项(欢呼另一个笨蛋).

操纵

厄尼的想法似乎可行,我将按如下方式实施.
假设linesreadfromfile是使用csv.reader读取的列表列表,即每个列表元素是一个值列表,对应于文件中该行的分隔条目,

finaldict = {}
for row in linesreadfromfile:
    if finaldict.has_key(row[5]):
        if finaldict[row[5]][3] > row[3]:
            finaldict[row[5]] = row
    else:
        finaldict[row[5]] = row

标签:python,excel
来源: https://codeday.me/bug/20190826/1727535.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有