簡體   English   中英

使用Python從值的交集檢索Excel表中的值

[英]Retrieving value from Excel table from an intersection of values using 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

如果我舉一個例子,我的廣告= 2,D = 4(這兩個值將始終在同一行中),而B =2。因此,我想將Dimension = 37的值返回給我的程序。 我也有一個問題,我要閱讀幾個工作表,所以我將此表稱為Table1,並且我必須首先通讀所有工作表,這些工作表在同一.xls文件中各包含一個表。

這是根據您想要的猜測來搜索表格的方法。 您應該可以自己制作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

在評論中提出問題后進行更新:

“”“這應該返回我想要的尺寸值嗎?”“”

是的,應該。 但這是一種通用方法。 我沒有從字面上回答“ gimme teh codez”的問題。 您必須做一些工作,要么編寫一個適合於您用來讀取表的工具(可能是xlrd)的“ table_iterator”,要么將其視為偽代碼,以作為指導,然后完全重寫以適合該表。工具。

“”“最后,我將所有表編譯到一個.xls文檔中,但使用了多個工作表。是否有一種特殊的方式可以搜索所有工作表,然后應用此代碼?”“”

就像我說的,您應該能夠自己制作5表循環特技。 搜索所有工作表, 然后應用此代碼似乎是一種奇怪的方法。 您需要遍歷工作表,搜索每個工作表,直到找到匹配的行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM