如何在dbf文件中没有eof循环时进行处理?

问题描述 投票:0回答:1

我有一个python程序,该程序打开大约30000条记录的dbf文件,我想结束我的while循环,但由于某些原因我的while循环保持打开状态。

      with DBF('data.DBF',recfactory=None,load =True) as table:
                for row in table:
                    stono = (row[1][1])
                    payrollid = (row[15][1])
                    busdate = (row[2][1])
                    firstname =  (row[13][1])
                    lastname = (row[14][1])

                    rows = [[stono,payrollid,busdate]]
                    print(rows) 
                try:
                    while True:
                        boolHasBlank = False
                        lastSsn = ssn
                        firstSsn = ssn 
                        newPayrollId = payrollid.strip()
                        newStoNo = stono
                        Fname = firstname
                        Lname = lastname
                        while True and stono == newStoNo and payrollid == newPayrollId:
                            if ssn is not firstSsn:
                                boolHasBlank = True
                            else:
                                lastSsn = ssn

                except EOFError as e:
                    print (e)
python python-3.x
1个回答
0
投票

使用break打破循环例如:

x = 0
while True:
   print(x)
   x += 1
   if x == 100:
      break

这给出输出:

1
2
3
...
98
99
© www.soinside.com 2019 - 2024. All rights reserved.