Python For循环跳过最后一个列表

Python For循环跳过最后一个列表,python,for-loop,xlsxwriter,xlwings,Python,For Loop,Xlsxwriter,Xlwings,我有一个for循环语句,当执行时,总是比列表少创建一个excel。然而,当使用if语句的第一部分(xlwings,用来修改现有的excels时,它工作得很好)时,您的想法是什么 names= list(df_ora['XCODE'].unique()) for prov in names: #for each matching agency code we create a df2 df2 = df_ora[df_ora['CODE'].isin([prov,'00000'])]

我有一个for循环语句,当执行时,总是比列表少创建一个excel。然而,当使用if语句的第一部分(xlwings,用来修改现有的excels时,它工作得很好)时,您的想法是什么

names= list(df_ora['XCODE'].unique())
for prov in names:
    #for each matching agency code we create a df2
    df2 = df_ora[df_ora['CODE'].isin([prov,'00000'])]
   # create a filename to verify the excel exisits
    filename = (dir_src  + '\\' + str(prov) + '_' + 'Claims' + '.xlsx')
    if os.path.isfile(filename):
        wb = xw.Book(filename)
        ws = wb.sheets['DATA']
        ws.clear_contents()
        ws.range('A1').options(index=False).value = df2
        ws.autofit()
        wb = xw.Book(filename)
        wb.save()
        xw.apps[0].quit()
        counter = counter + 1
    else:
        writer = pd.ExcelWriter(filename, engine='xlsxwriter')  
        df2.to_excel(writer, sheet_name='DATA',index=False)
        counter = counter + 1

尝试关闭编写器,或在
df2.to\u excel(编写器,sheet\u name='DATA',index=False)
后面的
writer.save()
。写入程序的内容可能在显式关闭或超出范围之前不会刷新到磁盘。

尝试关闭写入程序,或在
df2.to\u excel(writer,sheet\u name='DATA',index=False)之后关闭写入程序。写入程序的内容在显式关闭或超出范围之前可能不会刷新到磁盘