【问题标题】:Display wrong Result in different Excel sheet Python在不同的Excel工作表Python中显示错误的结果
【发布时间】:2016-12-28 14:10:29
【问题描述】:

我希望有 1 个可以在不同 Excel 工作表中显示结果的 python 文件,现在我可以列出 3 个带有 3 个工作表的选项卡,但是在第二张工作表上的 for/if 循环显示空结果。我能够在第一张纸上得到正确的结果,但在第二张纸上却没有。

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

【问题讨论】:

    标签: python python-3.x worksheet xlsxwriter


    【解决方案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 条件实际上是相同的。因为在所有给定输入字符串的最后一个 if 条件长度是 3。所以你得到了两个相同的 if 条件,你在 else 条件下打印了两次相同的结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-26
      • 1970-01-01
      • 1970-01-01
      • 2017-07-07
      • 1970-01-01
      • 2013-03-10
      • 2013-01-19
      相关资源
      最近更新 更多