yo soy nuevo en LXML, bastante nuevo en Python y no pudo encontrar una solución a lo siguiente:pitón, lxml y XPath - html tabla de análisis sintáctico
Tengo que importar unas cuantas mesas con 3 columnas y un indefinido número de filas que comienzan en la fila 3.
Cuando la segunda columna de cualquier fila está vacía, esta fila se descarta y se interrumpe el procesamiento de la tabla.
El siguiente código imprime bien los datos de la tabla (pero no soy capaz de reutilizar los datos después):
from lxml.html import parse
def process_row(row):
for cell in row.xpath('./td'):
print cell.text_content()
yield cell.text_content()
def process_table(table):
return [process_row(row) for row in table.xpath('./tr')]
doc = parse(url).getroot()
tbl = doc.xpath("/html//table[2]")[0]
data = process_table(tbl)
Esto sólo se imprime la primera columna :(
for i in data:
print i.next()
solamente la siguiente importar la tercera fila, y no la siguiente
tbl = doc.xpath("//body/table[2]//tr[position()>2]")[0]
Cualquiera conoce una solución elegante para obtener todos los datos de la fila 3 en tbl y copiarlo en una matriz para que pueda ser procesado en un módulo sin dependencia de lxml?
Gracias de antemano por su ayuda, Alex
¿Podría pegar el documento fuente (o parte) y el resultado esperado? No soy un experto en python, pero estoy bien con xpath y creo que puedo ayudarte. – prostynick
el documento fuente está disponible aquí (solo entre las 06h00 y las 22h00 CET): http://tinyurl.com/yj4corh – user191131
resultado esperado: [['Premier', '05', 'name1'], [u'Deuxi \ xe8me ',' 13 ',' name2 ']] – user191131