建设单位 | 项目名称 | 发文号 | 立案号 | 详情 |
中铁十六局集团有限公司 | 关于中铁十六局集团有限公司朝阳区青年路10号院项目2#住宅楼建设工程规划许可证延期的申请 | 2017规(朝)延字0001号 | 2017分延字0001 | 详情 |
北京博达顺源天然气有限公司 | 压缩天然气(CNG)加气母站 | 2017规函复市政字0002号 | 2017函市政字0001 | 详情 |
北京市平谷区教育委员会 北京市平谷区大华山镇大华山村经济合作社 | 教学楼、风雨操场及食堂 | 2017规(平)乡临建字0001号 | 2017分乡建字0001 | 详情 |
李甫全 | 翻改建住房(灰瓦1) | 2017规(西)条居字0001号 | 2017分条居字0001 | 详情 |
北京市花木有限公司 | 上水工程 | 2017规建市政否字0025号 | 2017市政建字0001 | 详情 |
北京地铁十六号线投资有限责任公司 | 北京地铁十六号线工程 区间工程 月坛南街站、阜外大街~月坛南街区间 | 2017规延市政字0004号 | 2017延市政字0001 | 详情 |
北京恒城投资发展集团有限公司 | 人才公租房项目 | 2017分复字0001 | 详情 | |
北京房地集团有限公司 | 和平街十四区简易住宅楼改造项目 | 2017规(朝)选字0002号 | 2017分选字0001 | 详情 |
北京市环亚创业生物工程技术有限责任公司 | 工业用房 | 2017分监字0001 | 详情 | |
北京公共交通控股(集团)有限公司 | 2017规竣市政字0001号 | 2017监市政字0001 | 详情 |
怎样用python遍历表格中的内容
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 一直在路上的十安 2017-11-15 01:56关注
这是之前写的一个很简单的解析表格的,就是利用普通的遍历。
#!/usr/bin/env python # -*- coding: utf-8 -*- """ @Time : 4/10/17 @File : normalForm.py @Remark : 普通表解析 """ class normalForm(object): """ :param: response """ def __init__(self): self.item_dict = { u"建设单位": "construction_unit", u"项目名称": "project_name", u"发文号": "issued_number", u"立案号": "case_number", } def parser_item(self, response, table_xpath): # 第一行为表头时,匹配表头从第二行开始 tr_first = 2 items_list = list() trs = response.xpath("{}//tr".format(table_xpath)).extract() for r in xrange(tr_first, len(trs) + 1): items = list() tds = response.xpath("{}//tr[{}]//td".format(table_xpath, r)).extract() for d in xrange(1, len(tds) + 1): shi_key = ''.join(response.xpath("{}//tr[{}]//td[{}]//text()".format(table_xpath, tr_first - 1, d)).extract()).replace(u'\xa0', '').replace(u'\r', '').replace(u'\t', '').replace(u'\n', '').replace(u' ', '') shi_value = ''.join(response.xpath("{}//tr[{}]//td[{}]//text()".format(table_xpath, r, d)).extract()).replace(u'\xa0', '').replace(u'\r', '').replace(u'\t', '').replace(u'\n', '').replace(u' ', '') if shi_key in self.item_dict and shi_value != '': # print shi_key, '^^^^^^', shi_value items.append({self.item_dict[shi_key]: shi_value}) if len(items) > 0: items_list.append(items) return items_list if __name__ == '__main__': pass # response = xxx # 此处xxx为你的网页response # table_xpath = "/table" # normalForm().parser_item(response, table_xpath)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报