【发布时间】:2020-01-06 19:31:09
【问题描述】:
我正在使用 python 来格式化 Excel 电子表格。我需要从 Sheet #1“Main”中的 L 列复制数据,并将其粘贴到 Sheet #2 “Data”中的 A 列中。我已经完成了这项工作,但我也想跳过空单元格,这些单元格在 Sheet #1 中随机出现,在这里我遇到了介绍问题。
我试过了:
for i in range(2, 50):
for j in range(12, 13):
if cell.value != None:
data.cell(row=i, column=j-11).value = main.cell(row=i, column=j).value
但是我收到错误消息“NameError: name 'value' is not defined”
有什么想法吗?
【问题讨论】:
-
不确定这是不是答案,但是否在此循环之前定义了单元格?它实际上应该是 if 语句中的 main.cell 吗? (即如果 main.cell(i,j).value != None)?
-
这样就去掉了错误信息!但是空白单元格仍然出现在工作表 #2 中。我认为它将数据复制到相同编号的行而不是下一个空白行。嗯……
-
嗨,凯特,我从来没有使用过 Openpxl,但我想知道在你的最后一行中,你是否真的希望它说:data.cell(row=i+1, column=j-11 )...
-
刚刚开始工作:for i in range(2, 50): for j in range(12, 13): if main.cell(i,j).value != None: data .cell(data.max_row+1, column=j-11).value = main.cell(row=i, column=j).value
-
请分享所有相关代码和数据。见:minimal reproducible example。顺便说一句,您应该使用
is来检查变量是否为None,而不是==。