Как мне получить значение определенного c столбца / ячейки по горизонтали в Excel, используя python - PullRequest
0 голосов
/ 27 мая 2020
• 1000 в том самом ряду, где я нашел ключевое слово? Мне очень нужна помощь с этим.

Ответы [ 2 ]

0 голосов
/ 25 июня 2020

Простой способ сделать это - получить значение из ячейки в другом столбце при итерации по каждой строке. Ниже я предполагаю, что вы работаете с существующей книгой, которую вы можете загрузить, объявив переменную filepath .

import openpyxl

wb = openpyxl.load_workbook(filepath)
ws = wb.active


# Iterate each row of the spreadsheet
for row in ws.iter_rows():

    # Check if the value in column A is equal to variable "target"
    if row[0].value == target:

        # If there is a match, output is value in same row from column B
        output = row[1].value

В этом примере вы перебираете каждую строку, чтобы проверить если значение в столбце A равно переменной target . В этом случае вы можете получить любое другое значение в этой строке, изменив индекс для переменной output .

Значения индекса столбца начинаются с 0, поэтому row [0] .value будет быть значением в строке для столбца A, row [1] .value - значением в строке для столбца B и т. д.

0 голосов
/ 27 мая 2020

Вы не дали здесь много информации о том, какую библиотеку вы используете, что было бы важно для подсказок синтаксиса. Openpyxl? Pandas?

Итак, я могу просто помочь вам с некоторыми указателями для вашего кода:

У вас есть функция, которая выполняет итерацию по строкам.
Вы должны написать функцию таким образом что он отслеживает, какая строка проверяется, а затем, когда он находит ключевое слово, он должен вернуть номер строки. Возможно, с помощью функции enumerate . Или с помощью простого счетчика

counter = 1
for cell in column:
    if keyword = cell.value:
        return counter
    else:
        counter += 1

С номером строки все, что вам нужно сделать, это создать ссылку на ячейку, в которой находится значение, а затем добавить 1 столбец к ссылке.

Например, если ссылка для ключевого слова - (1, 2) (столбец, строка), тогда вы выполняете преобразование, подобное

keyword_ref = (1, 2)
value_ref = (keyword_ref[0] + 1, keyword_ref[1])

Наконец, вы возвращаете значение в value_ref.

Надеюсь, это имеет для вас смысл! Если нет, опишите подробнее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...