Результаты Openpyxl xlsx добавляются вместо перезаписи - PullRequest
0 голосов
/ 01 июля 2018

Я использую 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 голосов
/ 01 июля 2018

Попробуйте написать в ячейке, которую хотите перезаписать

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

Если вы не хотите писать с первого ряда, а начинаете с 2, просто используйте

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