问题描述
可以肯定的是,我对Python并不擅长。我已经做了大量的初学者教程,但从未真正从事过任何中级课程。我搜索了该站点,并在其他站点上问了这个问题,无济于事。我正在尝试半自动化某些工作。
想象一个具有以下列标题的excel电子表格:
日期| A-D | 1-3 | A1_缺席| A1_late | A2_缺席| A2_late->
在每一行中,对于A-D和1-3的每种组合,只有两列可以显示一个名称或多个名称可以。所有其他将为空白。保证。在两个可能被填充的单元中,一个不需要另一个。两者都可以填补。两者都无法填补(稀有和可忽略)。第一个不是第二个,反之亦然。在组合的情况下,这相当于每行f吨的列确实很烦人手动进行。示例行:
8/23 | A | 2 | [空白] | [空白] | Joe Shmo |苏杜| [空白] | [空白] | ->进入永恒
但是,对于我的问题而言,真正重要的是:
8/23 | A | 2 | [空白] | [空白] | [空白] |苏杜| [空白] | [空白] | ->进入永恒
我不能指望第一个缺失的地方。我正在尝试编写一个python脚本来浏览此excel文件并产生以下内容:
Date
A-D
1-3
Absent: [Names]
Late: [Names]
我在代码中使用打印进行测试。当我做对时,我可能会选择对此做其他事情。上面的前三个项目是蛋糕。它们是直接的固定参考。对于接下来的两个,迟到/缺席和姓名,我必须搜索空格。我可以找到并显示填充的名称,但是无法弄清楚如何读取与填充的名称相交的标题列。我需要这个,因为我不能指望第一个发现是两者之一。解决此问题后,我可以在[引用]单元格中“缺失”,仅此而已。我怀疑我在某个地方需要另一个迭代器..也许是当前迭代器中的一个计数以供参考..但是到目前为止,我对此的测试进展不佳。也许我需要一种完全不同的方法,我愿意接受。
这是代码:
from openpyxl import load_workbook
def blankpop():
workbook = load_workbook(filename="test.xlsx")
sheet = workbook.active
for row in sheet.iter_rows(min_row=3):
print(str(row[0].value)[5:10]) #date formatting
print(row[1].value)
print(row[2].value)
for item in row[3:]:
if item.value == "":
pass
else:
print(str(item.value))
print("----") #separating filled cells for testing purposes
print("/n") #separating rows
将为您提供的任何帮助将不胜感激。谢谢!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)