2017-12-12 4 views
0

私はportscannerを(Python経由で)作成しています。何かを受け取ったときには.XLSVファイルで記述する必要があります。Openpyxlのループでデータを書き込むにはどうすればよいですか?

それが何をすべき:

  1. Webscannerが21オープン
  2. が行に
  3. が.XLSVファイルに書き込むデータを受信するポート見つかった2
  4. Webscannerがポート80のオープン
  5. を見つけました
  6. データ受信
  7. 3行目の.XLSVファイルに書き込みます。

マイコード:

wb = load_workbook('scanreport.xlsx') 

hitdetails = (str(hostname), str(host), str(port), str(keyword), str(banner)) 
wb = Workbook() 
ws = wb.active 
start_row = 1 
start_column = 1 

for searchresult in hitdetails: 
    ws.cell(row=start_row, column=start_column).value = searchresult 
    start_column += 1 
start_row += 1 

wb.save("scanreport.xlsx") 

結果: Only writes last result 私はこれをどのように修正することができますか?

+1

あなた自身のカウンタを使うよりも簡単に 'ws.append()'を使います。 –

答えて

0

@skjoshi、あなた先生だけの上書きと私の問題を修正:

write into excel file without overwriting old content with openpyxl(このページ)

私はすでに既存のシートを持つ既存のファイルをロードしていますので、私はまた、新しいワークシートを作成しました。私は毎回自分のデータを失う古いものを上書きします。

この場合、私はws = wb.activeを削除して動作しました!

関連する問題