2016-08-22 3 views
-9

Ich möchte 1 Python-Datei haben, die die Ergebnisse in verschiedenen Excel-Tabellen anzeigen kann, jetzt kann ich 3 Tabs mit 3 Arbeitsblättern auflisten, aber für/if-Schleife auf dem zweiten Blatt, das angezeigt wird ich leeres Ergebnis. Ich kann die Ergebnisse im ersten Blatt, aber nicht im zweiten Blatt korrigieren.Anzeige falsch Ergebnis in anderer Excel-Tabelle Python

for module in data: 
#Go to first sheet 
str1 = ''.join(module) 
if len(module)<102: 
    pass 
else: 
    worksheet1.write_row(row, col, module) 
    row += 1 

if str1.isupper(): 
    pass 
else: 
    worksheet1.write_row(row, col, module) 
    row += 1 


#Go to second sheet 
#Show empty result in second sheet 
MY_MODULE=module[0].split('_') #Module Name 
if 1<len(MY_MODULE)<4: #Field Number in Module Name 
    pass 
else: 
    worksheet2.write_row(row, col, MY_MODULE) 
    row += 1 

if len(MY_MODULE[0])==3: #Length in Scrum Field 
    pass 
else: 
    worksheet2.write_row(row, col, MY_MODULE) 
    row += 1 

if MY_MODULE[0]in ('TPI','SCN','ARR','FUN','MIO','CLK','HTD','SIO','PTH'): #Name in Scrum Field 
    pass 
else: 
    worksheet2.write_row(row, col, MY_MODULE) 
    row += 1 

if 2<len(MY_MODULE[1])<9: #Length in Module Name Field 
    pass 
else: 
    worksheet2.write_row(row, col, MY_MODULE) 
    row += 1 

Antwort

1
if len(MY_MODULE[0])==3: #Length in Scrum Field 
    pass 
else: 
    worksheet2.write_row(row, col, MY_MODULE) 
    row += 1 

if MY_MODULE[0]in ('TPI','SCN','ARR','FUN','MIO','CLK','HTD','SIO','PTH'): #Name in Scrum Field 
    pass 
else: 
    worksheet2.write_row(row, col, MY_MODULE) 
    row += 1 

hier zwei, wenn die Bedingungen sind eigentlich gleich. Denn in der letzten if-Bedingung ist die Länge aller gegebenen Eingabestrings 3. Sie erhalten also zwei gleiche Bedingungen, und Sie drucken das gleiche Ergebnis zweimal bei else.