htmltoExcel

# -- codingutf-8 --
#authorzhl
# from robot.api import logger
# logger.info('提示信息打印', True,True)
# logger.error('错误信息打印', True)

from html.parser import HTMLParser
import pandas as pd

import re


def html_tr_td(data)
##html文件预处理,处理tdtd标签内容为空的情况:
data=data.replace(td,NULLtd)

class hp(HTMLParser)
tr = False
td = False
flag=False
allmx=[]
temp=[]

def handle_starttag(self, tag, attr)
if tag == 'tr'
self.tr = True
self.flag = False ##遇到一次tr开始标签时,设置为False

if tag== 'td'
self.td = True

def handle_endtag(self, tag)
if tag == 'tr'
self.tr = False
self.flag=True ##遇到一次tr结束标签时,设置为True
if tag == 'td'
self.td = False


def handle_data(self, data)
if self.td and self.tr
# print(data)
if len(data)
self.temp.append(data)

if self.flag##一行数据结束
self.allmx.append(self.temp)
self.temp=[]
yk = hp()
yk.feed(data)
yk.close()
##获取结果的二维数组
newlist=[]
headlist=yk.allmx[0][3]
newlist.append(headlist)
print(len(yk.allmx))
i=1
for i in range(1,len(yk.allmx)-8)
flag=True
for j in range(len(yk.allmx[i]))
if re.search(条记录,yk.allmx[i][j])
print('here')
flag=False
continue
if flag == False
continue
if flag == False
continue
newlist.append(yk.allmx[i][4])

#df=pd.DataFrame(yk.allmx)
df = pd.DataFrame(newlist)
#print(df)
name =
df.to_excel(final.xls,index=None,header=None)

if __name__ == '__main__'
ff = open(rCProgram Files (x86)Suning RobotStudioProjectstesttest.html, 'r', encoding=gbk)
data = ff.read()
html_tr_td(data)

转载于:https://www.cnblogs.com/jessitommy/p/11077210.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值