1

私が探しているのは、範囲内の値を検索し、それらの値が存在する Excel 行を印刷することです。

何かのようなもの:

for cell in xl.ActiveSheet.Range('A1:A30'):
    if val in cell:
        #Print rows in which that value appears

これはかなり単純なはずのことのように思えますが、私はそれを行う方法を考えるのに苦労しています. どんな助けでも心から感謝します。

4

2 に答える 2

0

多分何かのような

import win32com.client.dynamic
from pythoncom import CoInitialize, CoUninitialize

CoInitialize()
xlApp = win32com.client.dynamic.Dispatch('Excel.Application')
xlBook = xlApp.Workbooks.Open(filename)

def access_range(sheet, row1, col1, row2, col2):
    "return a 2d array (i.e. tuple of tuples)"
     sht = xlBook.Worksheets(sheet)
     return sht.Range(sht.Cells(row1, col1), sht.Cells(row2, col2))

def get_range(sheet, row1, col1, row2, col2):
    return access_range(sheet, row1, col1, row2, col2).Value


for column, data in enumerate(get_range(1, 1, 1, 10, 10)):
    for row, value in enumerate(data):
        if value == search_value:
            print "value found in column %s, row %s" % (chr(65+column), row+1)

CoUninitialize()

注: 最初のシート、列、および行は 1 (0 ではない)

于 2013-08-17T15:09:26.250 に答える