我写了一个代码来扫描序列号图像并创建一个 Dataframe ,我将其称为“df_sn”。我有一个谷歌表格,我想用df_sn Dataframe 的选定序列号更改(更新或插入单元格)。
由于我需要插入新行或更新现有行,操作分歧的问题。
为书面形式的可能性创建列表
updating = ['Updating', 'updating', 'update', '2']
inserting= ['inserting', 'Inserting', 'insert', '1']
输入所需的操作
desirable_action = input("Do You Want Start An Inserting Or Updating Process? ")
下面我为更新创建了一些if条件
if desirable_action in updating:
print('Updating ' + "Process Started!")
desirable_row = input("Which row do you want to update? ")
desirable_col = input("Which column do you want to update? ")
cell = sheet.cell(desirable_row,desirable_col)
print("Cell Before Update: ", cell)
下面的行通过索引和列模式用df_sn中的值更新单元格(行,列)
sheet.update_cell(desirable_row,desirable_col,df_sn.at[1,'Serial Number'])
print('Cell After Update: ', cell)
所以,我需要但无法想到的解决方法是:
1.能够像对话框中的输入函数id est一样撤消更新
1条答案
按热度按时间nwnhqdif1#
感谢@TheMaster给了它“排队”的想法。
因此,在我的if条件中,我向队列插入了一个append方法
你可以看到有一条新线:
因此,在while循环中的if条件中,我将旧值保存在队列列表中。就像常规的“存储线”一样,第一个输入元素就是第一个输出元素(FIFO)。
更新工作表中的单元格并希望撤消更改后,我可以对第一个问题和下面的if条件回答“撤消”:
“
undo_storage.pop(0)
”将使存储在队列列表中的值成为要插入单元格中的新值。完成!撤消功能运行良好!