我有一个脚本,正在使用该脚本读取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()


update()

最佳答案

是的,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

09-25 19:21