我在左侧有一个带随机日期的列,以及一个带日期的标题行(日历)。 我试图循环列值,并为每个值查找标题值,一旦在标题中找到值A,我想打印在标题中找到的值A的坐标。 01.01.2019 | 02.01.2019 | 03.01.2019 | .... | 02.02.2019 | 01.01.2019 02.02.2019 2019年2月15日
代码应执行的操作,应选择01.01.2019(左列)并循环浏览标题日期。一旦找到01.01.2019的通讯者,应打印标题坐标(B1)。依此类推,剩余日期为02.02和15.02。
非常感谢您!
我尝试使用ws.rows和ws.iter_cols进行循环,但由于某些原因似乎不起作用。
**for row in ws.rows:
if row[1].value == "28.06.2019":
print("Found it vertically, value is:", row[1].value)
#for cell in row:
# print(cell.value, end=" ")
print("Vertical Value:", row[1].value, "Coordinates:", row[1].coordinate)
target.append(row[1].coordinate)
break
print(“ TARGET1:”,目标) 对于ws.iter_cols(min_row = 1,max_col = 30,max_row = 2)中的col: 对于col中的单元格: 如果cell.value ==“ 28.06.2019”: print(“ Horizontal Value:”,cell.value,“ Coordinates:”,cell.coordinate) target.append(cell.coordinate) 其他: 休息**
01.01.2019 | 02.01.2019 | 03.01.2019 |.... | 02.02.2019 |
2019年1月1日 02.02.2019 2019年2月15日
代码应执行的操作,应选择01.01.2019(左列)并循环浏览标题日期。一旦找到01.01.2019的通讯者,应打印标题坐标(B1)。依此类推,剩余日期为02.02和15.02。
非常感谢您!
答案 0 :(得分:1)
我建议您构建标题的字典并使用此查找。像下面这样的东西应该有所帮助。
header = {c.value:c.coordinate for c in ws[1]}
for cell in ws['A']:
print("{0} maps to {1}".format(cell.coordinate, header[cell.value])