我是 lxml 新手,对 python 很陌生,找不到以下解决方案:
我需要导入一些具有 3 列和未定义行数的表,从第 3 行开始。
当任何行的第二列为空时,该行被丢弃并且表的处理被中止。
以下代码可以很好地打印表的数据(但之后我无法重用数据):
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)
这只打印第一列:(
for i in data:
print i.next()
以下只导入第三行,不导入后续
tbl = doc.xpath("//body/table[2]//tr[position()>2]")[0]
任何人都知道一个奇特的解决方案,将第 3 行的所有数据放入 tbl 并将其复制到一个数组中,以便可以将其处理成一个不依赖 lxml 的模块?
提前感谢您的帮助,亚历克斯