我有一个Excel工作簿,我想滚动第一列的内容,并将每个唯一值写入新工作簿,即没有重复。
此代码在不检查重复项的情况下运行良好:
def get_data_from_sheet(sheet_index, start_row, end_row, count):
for row in range(start_row, end_row):
cell = sheet.cell(row,0)
count = count+1
if row != start_row:
sheet1.write(count,0,cell.value)
return count
但是当我尝试添加条件来检查重复项时,没有任何内容写入Excel文件:
from django.utils.encoding import smart_str
def get_data_from_sheet(sheet_index, start_row, end_row, count):
for row in range(start_row, end_row):
cell = sheet.cell(row,0)
count = count+1
if row != start_row:
list.append(smart_str(cell.value))
if smart_str(cell.value) not in list:
sheet1.write(count,0,cell.value)
return count
令我困惑的是,因为该列表包含值,即:
那么我做错了什么?谢谢!
答案 0 :(得分:2)
通过调用:
list.append(smart_str(cell.value))
之前:
if smart_str(cell.value) not in list:
您确定测试将始终为False
,因为您在测试之前将值附加到列表中。这里的逻辑存在问题。
注意:避免使用内置类型调用变量,调用列表对象lst
或其他任何有意义但不使用list
作为变量的内容。