小编Tel*_*der的帖子

使用OpenPyXL迭代工作表和单元格,并使用contantenated字符串更新单元格

我想使用OpenPyXL来搜索工作簿,但我遇到了一些我希望有人可以提供帮助的问题.

以下是一些障碍/待办事项:

  • 我有一个未知数量的床单和细胞
  • 我想搜索工作簿并将工作表名称放在一个数组中
  • 我想遍历每个数组项并搜索包含特定字符串的单元格
  • 我有具有引用旧服务器的UNC路径的单元格.我需要提取UNC路径中服务器名称后的所有文本,更新服务器名称,并将剩余的文本连接回服务器名称,
    例如\ file-server\blah\blah\blah.xlsx; extract\file-server \; 替换为\ file-server1 \; 在新名字之后放下剩下的blah\blah\blah.xlsx.
  • 保存xlsx文档

我是Python的新手,那么有人能指出我正确的方向吗?我感谢示例代码,因为此时我知道该怎么做才能搜索已知工作簿,使用已知的工作表名称,然后打印数据.在迭代工作表和单元格时,我不知道如何包含通配符.

我做了什么来显示细胞的内容:

from openpyxl import load_workbook, worksheet

def main():
    #read workbook to get data
    wb = load_workbook(filename = 'Book1_test.xlsx', use_iterators = True)
    ws = wb.get_sheet_by_name(name = 'Sheet1')
    #ws = wb.worksheets

    #Iterate through worksheet and print cell contents
    for row in ws.iter_rows():
        for cell in row:
            print cell.value

    #Iterate through workbook & print worksheets     
    #for sheet in wb.worksheets:
    #    print sheet


if __name__ == '__main__':
    main() …
Run Code Online (Sandbox Code Playgroud)

python excel openpyxl

5
推荐指数
1
解决办法
3万
查看次数

OpenPyXL + 如何在 Excel 单元格中搜索内容,如果内容与搜索条件匹配则更新内容?

我正在开发一个 Python(使用 2.7)项目,通过 Excel 文件搜索正在更改的服务器的 UNC 路径,然后使用新的 UNC 路径更新单元格。我是 python 新手,我能够找到单元格并使用以下命令打印它:

def main():
    wb = load_workbook(filename = 'Book1_test.xlsx', use_iterators = True)
    ws = wb.get_sheet_by_name(name = 'Sheet1')

    for row in ws.iter_rows(): 
        for cell in row:
            print cell.value
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何使用新字符串更新单元格,并且工作簿似乎处于只读模式;可能是因为 ws 只是检索信息。
我在网上找到了很多用于搜索单元格和打印信息的资源,但没有找到关于如何在找到信息后更新单元格的资源。有很多关于如何创建带有空白单元格的新工作簿,然后更新您自己的信息的信息;另外,还介绍了如何打开现有工作表并将内容插入新单元格。我只是没有找到我想要的东西,而且我的技能还没有达到自己做这件事的水平。

这是我的目标,如果有人可以帮助我,我将不胜感激:

  1. 打开工作簿
  2. 迭代 UNC 路径的单元格;作为超链接。
  3. 写入新的 UNC 路径/公式
    注意:我只想更新引用服务器名称的链接的第一部分。例如,file:///\\enterprise\...file:///\\file-server\...
  4. 关闭工作簿

我的缺点希望有人能帮助我:

  • 我对 for 循环语法的理解不足以迭代单元格以获取非特定内容;这意味着我不知道如何在字符串中搜索单词。
  • 我应该担心捕获细胞数量/坐标吗?
  • 如果通过迭代单元格、将内容存储到变量、解析字符串并仅提取我正在查找的内容(服务器名称)来解决此问题,在新服务器名称之前和之后连接其他信息,然后更新单元格内容?

python openpyxl

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

openpyxl ×2

python ×2

excel ×1