0

最初の列の内容をスクロールし、それぞれの一意の値を新しいワークブックに書き込みたい、つまり重複しない 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

リストには次の値が含まれているため、これは私を困惑させます。

ここに画像の説明を入力

それで、私は何を間違っていますか?ありがとう!

4

1 に答える 1

2

これを呼び出すことにより:

    list.append(smart_str(cell.value))

この前に:

    if smart_str(cell.value) not in list:

Falseリストにない値をテストする直前に値をリストに追加するため、テストは常に になると確信しています。ここのロジックに問題があります。

注意: 組み込み型で変数を呼び出すことは避け、リスト オブジェクトlstまたはその他の意味のあるものを呼び出しますが、変数として使用しないでくださいlist

于 2012-05-19T14:20:15.987 に答える