如何在 Openpyxl 中循环写入数据?
How can I write data in a loop in Openpyxl?
我正在创建一个 portscanner(通过 Python),每当我收到一些东西时,它应该写在一个 .XLSV 文件中。
应该做什么:
- Webscanner 发现端口 21 打开
- 接收数据
- 将其写入第 2 行的 .XLSV 文件
- Webscanner 发现端口 80 打开
- 接收数据
- 将其写入第 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")
结果:
我该如何解决这个问题?
@skjoshi,先生,您刚刚解决了我的覆盖问题:
write into excel file without overwriting old content with openpyxl(本页)
因为我已经加载了一个现有文件 sheet,我还在创建一个新作品sheet,它将覆盖我每次丢失数据的旧作品。
在这种情况下,我删除了 ws = wb.active
并且成功了!
我正在创建一个 portscanner(通过 Python),每当我收到一些东西时,它应该写在一个 .XLSV 文件中。
应该做什么:
- Webscanner 发现端口 21 打开
- 接收数据
- 将其写入第 2 行的 .XLSV 文件
- Webscanner 发现端口 80 打开
- 接收数据
- 将其写入第 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")
结果:
@skjoshi,先生,您刚刚解决了我的覆盖问题:
write into excel file without overwriting old content with openpyxl(本页)
因为我已经加载了一个现有文件 sheet,我还在创建一个新作品sheet,它将覆盖我每次丢失数据的旧作品。
在这种情况下,我删除了 ws = wb.active
并且成功了!