2010-03-04 4 views

ответ

2

lxml.html удобнее для управления HTML, ИМО. Вот код, который удалит второй столбец таблицы 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) 

Результат:

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

Спасибо за ответ. К сожалению, версия lxml, которая у меня не поддерживалась, была отключена, и серверы с кодами не работают, поэтому я не смог обновить. Я закончил тем, что просто использовал beautifulsoup, потому что оказалось, что каждая ячейка в этом столбце имела на нем специальный класс, поэтому его легко удалить с помощью имени класса. – jedberg

 Смежные вопросы

  • Нет связанных вопросов^_^