【发布时间】:2021-10-28 12:41:45
【问题描述】:
如果单元格包含来自C 列的"external",则将单元格"good" 从D 列复制到E 列中,在A 列包含003 的行中。
下面是excel中的两张图片(之前和之后)。
之前:
之后:
我试图找到一个正确的脚本,但没有成功。它需要更改为我放置“???”的“行”和“列” :
import openpyxl
from openpyxl import load_workbook
wb_source = openpyxl.load_workbook("path/file.xlsx")
sheet = wb_source['Sheet1']
x=sheet.max_row
y=sheet.max_column
for r in range(1, x+1) :
for j in range(1, y+1):
copy(sheet.cell(row= ???, column=???)
if str(copy.value)=="external":
sheet.??
break
wb_source.save("path/file2.xlsx")
应该如何添加它们(行和列)?
【问题讨论】:
-
为什么您的示例中的单元格
E3的值是"good"?根据您的解释,只有在其C列中具有"external"的行才应该复制一个值。此外,特别是他们的A列中也有003,但我们也可以看到您在其他A-column 值上执行相同操作。 -
@HampusLarsson - 很抱歉表达错误。因为在
A列中有两个包含相同的数字(003和003)。一个人可以是外在的,也可以是内在的。我想将C列中的值返回到E列,这两种类型(internal和external)具有相同的数字。这将必须返回两行中的值,而不是一行。