gpt4 book ai didi

python - 是否可以在 Excel 中使用 Python 动态更改公式引用的路径?

转载 作者:行者123 更新时间:2023-12-04 07:17:59 25 4
gpt4 key购买 nike

我们正处于文件共享迁移点,我们有很多包含公式的 excel 文件,引用旧的文件共享地址。
是否可以将包含对旧文件共享的引用的所有公式动态更改为新文件共享?
如果可能的话,你能给我一些python代码来实现这个吗?

Q:\general\2021\[excel_file.xlsm] # Old filepath

I:\general\2021\[excel_file.xlsm] # New filepath

最佳答案

假设您只需要替换文件 test.xlsx 第一页上所有单元格中的一些文本.可以这样做:

import win32com.client

app = win32com.client.Dispatch("Excel.Application")
wb = app.Workbooks.Open(r"d:\temp\test.xlsx")

sheet = wb.Sheets(1)
sheet.Cells.Replace("Q:\\general\\2021\\", "I:\\general\\2021\\")

wb.Save()
wb.Close()
如果您有许多工作表和许多 xlsx 文件,您可以添加循环来读取所有文件及其所有工作表:
from pathlib import Path
import win32com.client

folder = Path.cwd() # current folder
files = list(folder.rglob("*.xlsx")) # all xlsx files from the folder and subfolders

app = win32com.client.Dispatch("Excel.Application")

for f in files: # loop through all files
wb = app.Workbooks.Open(f)

sheets = wb.Sheets
for i, sh in enumerate(sheets): # loop through all sheets
sh = wb.Sheets(i+1)
sh.Cells.Replace("Q:\\general\\2021\\", "I:\\general\\2021\\")

wb.Save()
wb.Close()

关于python - 是否可以在 Excel 中使用 Python 动态更改公式引用的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68680714/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com