我有一个脚本,用于读取 excel 文件和更新 SQL 数据库。我使用循环每 30 秒读取一次 excel 文件。但是我只想在 excel 文件更改时更新数据库
如果我在循环循环时使用 != 运算符,它会刷新“temp”的值,因此不会记录该值相同。
有没有人知道如何解决这个问题..?
谢谢! 编辑:更新以使我的问题更清楚!
def update():
threading.Timer(1, update).start()
book = open_workbook('bet.xls')
def odds():
sheet = book.sheet_by_name('xyz')
match_sheet = sheet.cell(5,0).value
data = book.sheet_by_name(sheet)
vv = data.cell(3,26).value
temp= None
if vv != temp:
print 'hello'
temp= vv
odds()
更新()
请您参考如下方法:
是的,Python built-in containers are compared by value (元组、列表和字典)。
像这样的东西(我用了 list comprehension 来增加幻想):
//init
pvv=None
<...>
//iteration
vv= [data.cell(i,j).value for (i,j) in ((2,26),(3,26),(4,26))]
if vv!=pvv:
//do something
pvv=vv
