我正在使用openpyxl将结果写入excel文件。问题是当我第二次运行脚本时,结果出现在第一个结果的下面,而不是像我想要的那样覆盖它们。因此,当前第一个结果出现在第2-151行,第二个结果附加在第152-301行。我希望第二个结果覆盖第2-151行中的第一个结果。
有人知道这是否可以解决吗?
谢谢
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException
import openpyxl
from openpyxl import load_workbook
url = 'http://www.tradingview.com/screener'
driver = webdriver.Firefox()
driver.get(url)
# will give a list of all tickers
tickers = driver.find_elements_by_css_selector('a.tv-screener__symbol')
wb = load_workbook('C:/Users/Jake/results.xlsx')
sheet = wb["Sheet2"]
for index in range(len(tickers)):
row = [tickers[index].text]
sheet.append(row)
wb.save('C:/Users/Jake/results.xlsx')
答案 0 :(得分:2)
尝试在要覆盖的单元格中书写
sheet.cell(row=index, column=1).value = row
如果您不想从第一行开始写,而是从2开始,只需使用
sheet.cell(row=index+2, column=1).value = row