我想知道当我在单元格中插入值时,是否有一种方法可以将单元格列下移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
发布于 2019-12-27 11:32:34
在我看来,你需要一个计数器,它将根据已经保存在工作簿中的数据来确定在哪里输入新的日期。
然后,您的单元格坐标应为:
datetime = 'A‘+字符串(i+1)
其中'i‘是一个计数器,表示已经填充了多少个单元格。例如,如果一行中的所有单元格都为空,则i=0和datetime将等于'A‘+ str(1) => 'A1',这是您当前获得的静态值。随着计数器的增加,用于存储新值的单元格向右移位(即,按列)。
有很多方法可以制作一个计数器。您可以将计数器存储在Excel文件的备用单元格中。或者,您可以遍历这些列,直到找到第一个空列( while循环)并返回它的坐标。
https://stackoverflow.com/questions/59495430
复制相似问题