Skip to main content
 首页 » 编程设计

python之循环时比较python中的列表

2025年05月04日12davidwang456

我有一个脚本,用于读取 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