使用Python从值的交集检索Excel表中的值

2024-04-20 12:38:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Excel中有一个表,我希望能够读取它(我知道如何实现这一点),但也要告诉Python,如果存在d、d和B的某些值,那么它将返回第一行顶部的维度值作为程序中的变量。我读过很多关于十字路口的帖子,我不确定他们是否是我要找的,所以我决定问我自己的问题。在

我的Excel表格格式如下(只是一个小例子,因为我不能发布图像):

                      Dimensions
d      D  |  17      27    37     47       17-47
          |                B           |   rsmin
0.6    2     0.8     -     -       -       0.05
1    2.5     1       -     -       -       0.05
1.5    3     1       -     1.8     -       0.05
2      4     1.2     -     2       -       0.05

如果我举个例子,我有d=2,d=4(这两个值总是在同一行中)和B=2。因此,我想将value维=37返回到我的程序中。我还有一个问题,我有几个工作表要读,所以我将这个表称为表1,我必须首先通读所有的工作表,这些工作表在同一个.xls文件中各包含一个表。在


Tags: 文件图像程序value格式xlsexcel帖子
1条回答
网友
1楼 · 发布于 2024-04-20 12:38:40

以下是如何根据对所需内容的猜测来搜索表。你应该可以自己做5个表上的圈圈特技。在

def search(table_iterator, d, D, B):
    headings = next(table_iterator)
    junk = next(table_iterator)
    key = [d, D]
    for row in table_iterator:
        if row[0:2] != key: continue
        for index, value in enumerate(row[2:-1]):
            if value == B: 
                return headings(2 + index)
    return None

在评论中提出问题后更新:

“”“这应该返回我想要的维度值?”“”在

是的,应该。但这是一种泛化的方法。我不会按字面意思回答“给我密码”的问题。你必须做一些工作,要么写一个适合你正在读表的工具(大概是xlrd)的“table_iterator”,要么把它当作伪代码,你把它当作指南,完全重写以适合这个工具。在

“最后,我将我所有的表编译成一个.xls文档,但使用了几个工作表。有没有什么特别的方法可以让我搜索所有的工作表,然后应用这些代码?”“在

就像我说的,你应该可以自己做5个桌上圈的特技。搜索所有工作表,然后应用这些代码似乎是一种奇怪的方法。您需要迭代工作表,搜索每个工作表,直到找到匹配的行。在

相关问题 更多 >