Openpyxl xlsx结果将追加而不是覆盖

时间:2018-07-01 11:26:29

标签: python excel openpyxl

我正在使用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')

1 个答案:

答案 0 :(得分:2)

尝试在要覆盖的单元格中书写

sheet.cell(row=index, column=1).value = row

如果您不想从第一行开始写,而是从2开始,只需使用

sheet.cell(row=index+2, column=1).value = row