J'ai raclé des données de la table HTML dans la liste Python, mais je dois mettre des données de liste Python [] dans la feuille Excel, je ne peux pas trouver une solution, peut-on aider s'il vous plaît. La liste Python est dynamique sa taille peut changer en fonction de la taille de la table.
Je travaille avec OpinPyXL, mais je ne trouve pas un moyen d'ajouter une liste de python [] des données dans la feuille Excel. La sortie de code est donnée ci-dessous, j'ai besoin de mettre cette liste de données dans la ligne de feuille Excel par ligne. P> IT indique: p>
4 Réponses :
Vous devriez créer un classeur et ajouter des données. Essayez ce code SNIPPET
from bs4 import BeautifulSoup import html5lib import os import openpyxl from openpyxl import Workbook html = """ data """ soup=BeautifulSoup(html,'html5lib') tables=soup.findAll('table') tableE = [] for table in tables: rows = [] for row in table.findAll('tr')[0:]: cells = [] for cell in row.findAll('td'): text = cell.text cells.append(text) rows.append(cells) tableE.append(rows) wb = Workbook() ws = wb.active for tab in tableE[0]: # tableE[0] is a list of list ws.append(tab) # Appends each list as a row in the workbook wb.save("test.xlsx")
Merci beaucoup ça marche. Pouvez-vous s'il vous plaît expliquer comment la boucle de travail fonctionne? Je vais exporter plusieurs tables dans la feuille Excel.
Bonjour, j'ai ajouté des commentaires. J'espère que c'est utile
Merci beaucoup beaucoup apprécié!
Créez simplement un fichier de données Pandas dans la liste et enregistrez-la à Excel.
import pandas pandas.DataFrame(list_to_Save).to_excel("output_path")
Merci beaucoup beaucoup apprécié!
Voici comment vous le faites:
sudo pip install xlsxwriter
Merci beaucoup beaucoup apprécié!
Aucun problème! J'espère que cela a aidé.
Pour le rendre moins verbeux, vous pouvez essayer ce qui suit:
from openpyxl import Workbook from bs4 import BeautifulSoup wb = Workbook() ws = wb.active soup = BeautifulSoup(html, 'html5lib') for items in soup.find('table').find_all("tr"): data = [item.text for item in items.find_all("td")] print(data) ws.append(data) wb.save("tabular_content.xlsx")
Qu'avez-vous essayé d'écrire à Excel? Je vois que cela vous montre que vous mettez les données dans une liste, mais vous n'utilisez pas le classeur
code> que vous avez importé.
J'ai essayé de créer une table Excel en utilisant 'OpenPyxl' mais rien ne semble fonctionner.
J'ai besoin de mettre cette liste dans une feuille Excel.
Suivez Cet exemple < / a> pour CSV.
Non, il doit être dans un fichier Excel.