首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用python获取excel中特定列/单元格的水平方向的值?

如何使用python获取excel中特定列/单元格的水平方向的值?
EN

Stack Overflow用户
提问于 2020-05-28 00:18:00
回答 2查看 102关注 0票数 0

我最近开发了代码来查找我输入的关键字,它通过迭代excel表格的各行来找到关键字,但是当我在一行中找到该关键字时,我如何水平移动并从我找到该关键字的行中的列单元格中获取值?

EN

回答 2

Stack Overflow用户

发布于 2020-05-28 00:40:27

您在这里没有给出关于您正在使用的库的太多信息,这对于给您任何语法提示都是必不可少的。Openpyxl?熊猫?

因此,我可以为您的代码提供一些指导:

您有一个遍历各行的函数。

您应该以这样一种方式编写函数:它跟踪检查哪一行,然后,当它找到关键字时,它应该返回行号。也许可以使用enumerate函数。或者用一个简单的计数器

代码语言:javascript
运行
复制
counter = 1
for cell in column:
    if keyword = cell.value:
        return counter
    else:
        counter += 1

有了行号,您所需要做的就是创建一个对值所在单元格的引用,然后在引用中添加1列。

例如,如果关键字的引用是(1,2) (column,row),则执行如下转换

代码语言:javascript
运行
复制
keyword_ref = (1, 2)
value_ref = (keyword_ref[0] + 1, keyword_ref[1])

最后,在value_ref中返回值。

票数 0
EN

Stack Overflow用户

发布于 2020-06-26 04:47:01

要做到这一点,一种简单的方法是在迭代每一行时从不同列的单元格中获取值。下面,我假设您正在使用现有的工作簿,您可以通过声明filepath变量来加载该工作簿。

代码语言:javascript
运行
复制
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中的值是否等于目标变量。如果是这样,则可以通过更改输出变量的索引来检索该行上的任何其他值。

列索引值从0开始,因此row.value将是A列的行中的值,row1.value是B列的行中的值,依此类推。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62047863

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档