用于操作 excel 表的 python 脚本

标签 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 最少的整行。 例如,对于前 2 行 - Abhd11 名称,我想在结果中保存第 2 行,因为 TSS 135485021 < 135485168。对于具有相同名称的所有集合也是如此。

欢迎任何想法和评论。

最佳答案

输入

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

或者您可以使用 xlrd module for reading excel files - 虽然我没有使用过这个并且不太了解它。

openpyxl是解析 excel 文件的附加选项(欢呼又是一个笨蛋)。

操纵

ernie 的想法似乎可行,我将按如下方式实现。 假设 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

关于用于操作 excel 表的 python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11800726/

相关文章:

python - Pandas 根据条件在多个列中找到第一个非零条目

python - 使用 Python 将公式写入 Excel

excel - 如何使 vba 代码与 libre office 兼容

Excel添加多行

python - 手动删除 anaconda python 中 pkgs 文件夹中的所有文件是否安全?

python - virtualenv 与 setup.py install --user

Python pandas dataframe - 任何以编程方式设置频率的方法?

EXCEL 2010 MACRO 连接包含不同行数的单元格

python - 如何根据Python中的列标题值选择excel列

python - 为什么正则表达式函数总是弹出属性错误?