2010-03-04 13 views

Répondre

2

lxml.html est plus agréable pour manipuler HTML, IMO. Voici un code qui supprimera la deuxième colonne d'un tableau HTML.

from lxml import html 

text = """ 
<table> 
<tr><th>head 1</th><th>head 2</th><th>head 3</th></tr> 
<tr><td>item 1</td><td>item 2</td><td>item 3</td></tr> 
</table> 
""" 

table = html.fragment_fromstring(text) 

# remove middle column 
for row in table.iterchildren(): 
    row.remove(row.getchildren()[1]) 

print html.tostring(table, pretty_print=True) 

Résultat:

<table> 
<tr> 
<th>head 1</th> 
<th>head 3</th> 
</tr> 
<tr> 
<td>item 1</td> 
<td>item 3</td> 
</tr> 
</table> 
+0

Merci pour la réponse. Malheureusement, la version de lxml que j'avais ne supportait pas fragment_fromstring, et les serveurs codespeak étaient en panne, donc je ne pouvais pas mettre à jour. J'ai fini par utiliser beautifulsoup parce qu'il s'est avéré que chaque cellule de cette colonne avait une classe spéciale, donc il était facile de supprimer via le nom de la classe. – jedberg