0
votes

Liste Python [] Données à la feuille Excel

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. xxx

IT indique: xxx < / p>


5 commentaires

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 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.


4 Réponses :


1
votes

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")


3 commentaires

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é!



0
votes

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")


1 commentaires

Merci beaucoup beaucoup apprécié!



0
votes

Voici comment vous le faites:

sudo pip install xlsxwriter


2 commentaires

Merci beaucoup beaucoup apprécié!


Aucun problème! J'espère que cela a aidé.



0
votes

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")


0 commentaires