Я написал код для таблицы статистики футбольной очистки и поместил каждую строку в список.Теперь я хотел бы поместить эти данные в существующий файл Excel и в определенный лист.В моем файле Excel есть много листов, и у меня есть один лист, предназначенный для хранения этих данных, но я не знаю, как это сделать.Поскольку мой код очищает 2 таблицы, я хотел бы, чтобы эти две таблицы располагались рядом друг с другом на листе Excel с двумя пустыми колоннами между ними.Я провел некоторые исследования в Интернете, но ничего полезного не получилось.
Я пытался использовать openpyxl, xlwt, я немного пробовал с пандами, но так как у меня не так много знаний, я не нашелрешение.Я использую Mac.
from selenium import webdriver
from bs4 import BeautifulSoup
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as ec
import time
import pandas as pd
# Open web page
driver = webdriver.Firefox(executable_path='/Applications/Python 3.7/geckodriver')
driver.get('https://www.whoscored.com/Regions/108/Tournaments/5/Italy-Serie-A')
# Premi Continua per utilizzare il sito
element=WebDriverWait(driver,20).until(ec.element_to_be_clickable((By.XPATH,"//button[contains(.,'Continue Using Site')]")))
driver.execute_script("arguments[0].click();", element)
time.sleep(3)
# Push Standings and Form
options_group_list = []
block_options = driver.find_element_by_xpath('//*[@id="tournament-tables- 16548-options"]')
all_options = block_options.find_elements_by_tag_name('a')[0:2]
for options in all_options:
options_group_list.append(options)
for option in options_group_list:
option.click()
time.sleep(3)
# Push on wide
filter_button = driver.find_element_by_link_text("Wide")
filter_button.click()
time.sleep(3)
# page source
source = driver.page_source
soup = BeautifulSoup(source, 'lxml')
# find table and rows
table = soup.find('table', {"id": "standings-16548-grid"})
rows = table.find_all('tr')[2]
# setting columns
columns = [v.text for v in rows.find_all('th')]
print(columns)
# Data
table_rows = table.find_all('tr')
for row in table_rows[5:len(table_rows)]:
row_list = []
for data in row.find_all('td'):
row_list.append(data.text)
print(row_list)