2017-01-25 1 views
0

問題を理解しているうちに、コードを修正する方法がわかりません。 appendは8行に書き込んでいます。チェックされたセルは8つあり、8つの行に書き込みます。openpyxlに一度だけ追加するには?

for row in ws.iter_rows(): 
    for cell in row: 
     if i == cell.value: 
      print("found match") 
     else: 
      y=[] 
      y.append(i) 
      ws.append(y) 
      wb.save("Trying web.xlsx") 
+0

ここで問題は何ですか?あなたは詳細を教えていただけますか? –

+0

@MarcelP Excelファイルは 'i'の文字列を8回印刷しています。すなわち、同じ列の8行。下に指摘されているようにインデントエラーでした。お返事ありがとう – Sid

答えて

1

インデントが重要なためです。

for row in ws.iter_rows(): 
    y=[] 
    for cell in row: 
     if i == cell.value: 
      print("found match") 
     else: 
      y.append(i) 
    ws.append(y) 
wb.save("Trying web.xlsx") 
+0

しかし、それはまだ同じ出力を与えています。インデントをさらに戻す必要があるので、私はそれを仮定しますか?ちょうどそれをチェックしました、それは 'for行..... 'と同じ字下げにする必要があります。 – Sid

+1

wb.appendがさらに後ろに来るかどうか私はあなたがMCVEを投稿していないが、確かにさらに戻って、私はそれを変更しました – e4c5

関連する問題