我想知道在单元格中插入值后是否有一种将单元格列向下移动1的方法。例如,我创建了一个循环程序,如果按“ q”键,该程序将获取当前日期和时间值,并打印到excel工作表中的特定单元格('A1')。但是,如果再次按下键“ q”,程序将把值打印到单元格('A1'),而不是向下移动到单元格('A2')。
有什么办法可以像循环增量一样始终将值打印到下一列吗?
这是我的程序:
import datetime
from openpyxl import load_workbook
current_datetime = datetime.datetime.now()
current_datetime.strftime('%x %X')
datetime = 'A1' #cell coordinate
book = load_workbook('Sample.xlsx')
sheet = book['Data']
sheet[datetime] = current_datetime
book.save('Sample.xlsx')
我使用的软件是Python 3.7
在我看来,您需要一种计数器,该计数器将根据工作簿中已保存的数据确定在何处输入新日期。
然后,您的单元格坐标应为:
datetime ='A'+ str(i + 1)
其中“ i”是一个计数器,指示已经填充了多少个单元格。例如,如果一行中的所有单元格都为空,则您的i = 0,并且日期时间将等于'A'+ str(1)=>'A1',这是您当前获得的静态值。随着计数器的增加,用于存储新值的单元格向右移动(即,列方向)。
有很多方法可以进行反击。您可以将计数器存储在Excel文件的备用单元格中。或者,您可以遍历各列,直到找到第一个空列(while循环)并返回其坐标。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句