.net 将html写成的table 转换成excel_Python读取二进制,HTML,XML格式存储Excel
前言
RPA设计器版本:2020.2
Python读取三种不同存储格式Excel文件
Excel文件的存储格式有多种,有我们平常公认的二进制格式,也有HTML格式,还有XML格式的等。
目前,小编接触到RPA项目的Excel文件格式主要是上述说的三种格式(二进制,HTML,XML)
这里需要注意的是:RPA设计器2020.2只支持二进制格式的Excel文件读取
Python读取二进制类型的Excel文件并返回DataFrame对象
这里我直接将重新读取Excel的操作封装成函数放在一系列函数使用,也可以使用RPA设计器自带的读取Excel组件。
def get_data_from_binary_excel(file_path): """ 从 binary 二进制格式的 excel 中获取数据 :param file_path: :return: DataFrame """ # 读取Excel 使用 pandas 读取二进制文件 excel pd_df = pd.read_excel(io=file_path) # 填充 NaN 将 nan 值用空字符串替换 df = rpa_pandas.fillna(df=pd_df) df = pd_df.fillna('') return df
Python读取HTML类型的Excel文件并返回DataFrame对象
这里我直接将重新读取Excel的操作封装成函数放在 一系列函数 中使用
def get_data_from_html_excel(file_path, encoding='utf-8'): """ 从 html 格式的 excel 中获取数据 :param file_path: :return: DataFrame """ dfs = pd.read_html(file_path, encoding=encoding) pd_df = dfs[0] df = pd_df.fillna('') return df
Python读取XML类型的Excel文件
思路:利用Python将Excel文件读取到内存中,再利用正则表达式从XML标签中取出Excel表格中的数据
def get_data_from_xml_excel(file_path): """ 解决 pandas.read_excel() 读取 excel 解析错误问题. 读取 excel 文件,将每行数据都放入 list 列表中。 返回值有二个,第一个是 excel 表头的长度,第二个是数据 list 集合 """ try: with open(file_path, 'rb') as tree: content = tree.read().decode('utf-8') # 单位 # 单位 pattern1 = r"""(.+?)""" r"""|(.+?)""" head_iter = re.finditer(pattern1, content) head_list = [] for tpl in head_iter: for i in range(len(tpl.groups())): ele = tpl.groups()[i] if ele is not None: head_list.append(ele) break # pattern2 = r"""([sSwW]*?)""" r"""|([sSwW]*?)""" r"""|([sSwW]*?)""" r"""|([sSwW]*?)""" r"""|([sSwW]*?)""" r"""|([sSwW]*?)""" data_iter = re.finditer(pattern2, content) data_list = [] count = 0 for tpl in data_iter: groups_len = len(tpl.groups()) # print(groups_len, tpl.groups(), tpl.span()) for i in range(groups_len): ele = tpl.groups()[i] # 排除不需要的脏数据 if ele is not None and ele != 'nan' and ele != 'null': data_list.append(ele) break count += 1 # 若为空数据,或者 nan, null ,用空字符串替换 if count == groups_len: data_list.append('') # 每次内循环后都要清零 count = 0 return len(head_list), data_list except Exception as e: print('解析 excel 发生异常 {}'.format(e)) return 0, []
def get_data_from_xml_excel(file_path): """ 解决 pandas.read_excel() 读取 excel 解析错误问题. 读取 excel 文件,将每行数据都放入 list 列表中。 返回值有二个,第一个是 excel 表头的长度,第二个是数据 list 集合 """ try: with open(file_path, 'rb') as tree: content = tree.read().decode('utf-8') # 单位 # 单位 pattern1 = r"""(.+?)""" r"""|(.+?)""" head_iter = re.finditer(pattern1, content) head_list = [] for tpl in head_iter: for i in range(len(tpl.groups())): ele = tpl.groups()[i] if ele is not None: head_list.append(ele) break # pattern2 = r"""([sSwW]*?)""" r"""|([sSwW]*?)""" r"""|([sSwW]*?)""" r"""|([sSwW]*?)""" r"""|([sSwW]*?)""" r"""|([sSwW]*?)""" data_iter = re.finditer(pattern2, content) data_list = [] count = 0 for tpl in data_iter: groups_len = len(tpl.groups()) # print(groups_len, tpl.groups(), tpl.span()) for i in range(groups_len): ele = tpl.groups()[i] # 排除不需要的脏数据 if ele is not None and ele != 'nan' and ele != 'null': data_list.append(ele) break count += 1 # 若为空数据,或者 nan, null ,用空字符串替换 if count == groups_len: data_list.append('') # 每次内循环后都要清零 count = 0 return len(head_list), data_list except Exception as e: print('解析 excel 发生异常 {}'.format(e)) return 0, []
快速了解RPA
RPA RPA技术 RPA软件 RPA培训 RPA应用 RPA机器人
领域 数据统计
.net 将html写成的table 转换成excel_Python读取二进制,HTML,XML格式存储Excel相关推荐
- .net 将html写成的table 转换成excel_如何使用Pandas将二维表(DataFrame)反转为一维列表?...
前言 我正在Python / Pandas中寻找将2维表反转为1维列表的技巧. 我通常利用Excel函数来执行此操作,但是我相信有一种聪明的Python方式可以执行此操作. Excel方式的更多详细信 ...
- 题目内容: 写一个将华氏温度转换成摄氏温度的程序,转换的公式是: °F = (9/5)*°C + 32 其中C表示摄氏温度,F表示华氏温度。 程序的输入是一个整数,表示华氏温度。输出对
#题目内容: 写一个将华氏温度转换成摄氏温度的程序,转换的公式是: °F = (9/5)*°C + 32 其中C表示摄氏温度,F表示华氏温度. 程序的输入是一个整数,表示华氏温度.输出对应的摄氏温度, ...
- 写一个将华氏温度转换成摄氏温度的程序,转换的公式是:°F = (9/5)*°C + 32 其中C表示摄氏温度F表示华氏温度程序的输入是一个整数表示华氏温度。输出对应的摄氏温度也是一个整数(java)
1温度转换(5分) (此题出自:中国大学MOOC零基础学java,翁恺,第1周编程题) 题目内容: 写一个将华氏温度转换成摄氏温度的程序,转换的公式是: °F = (9/5)*°C + 32 其中C表 ...
- HTML5+jSignature插件手写签名生成图片并转换成文件流实现功能
公司需求html5手写签名,并转换成图片上传服务器 项目结构:jquery+springboot项目需要引入js文件:jquery的jquery.min.js .jSignature插件的 jSign ...
- 小数转换成二进制c语言,只写出了十进制小数转换成二进制的,求二进制小数转十进制的...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include #define NUM 2 #define ZERO 0.000001 int PrnMainMen ...
- c语言十进制小数转其他进制,只写出了十进制小数转换成二进制的,求二进制小数转十进制的...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 #include #include #include #define NUM 2 #define ZERO 0.000001 int PrnMainMen ...
- HTML5+jSignature插件手写签名生成图片并转换成文件流实现服务器上传功能
简介 项目结构:html+vue+springboot html引入VUE项目vue.min.js.jQuery的jquery-3.4.1.min.js,签名:modernizr.js.jSignat ...
- badatatable转成json_C# DataTable 转换成JSON数据 三种方法
在web开发中,我们可能会有这样的需求,为了便于前台的JS的处理,我们需要将查询出的数据源格式比如:List.DataTable转换为Json格式.特别在使用Extjs框架的时候,Ajax异步请求的数 ...
- ceb怎么转换成word_pdf怎么转换成Word?分享PDF转word3种方法!
pdf怎么转换成Word?在工作中,我常常需要将写好的一份文件或者合同以PDF格式保存起来,然后发给对方,这样接收方就可以直接打印了.但是如果PDF文档需要修改的话,我们还得将PDF转为Word.今天 ...
最新文章
- python基础语法及知识总结-Python 学习完基础语法知识后,如何进一步提高?
- python跟java-还在纠结选Python还是Java?看完就有数了
- 移动并重命名2000个文件,Python,3秒
- python版本及ML库
- VDO-SLAM论文阅读
- python SMTP attachment
- 彩虹云商城 最新彩虹代刷V6.9.0免授权纯净完整版
- 【python】matplotlib绘图显示不了中文,且没有SimHei、FangSong等字体
- 导入数据库时报错的解决办法汇总
- 无法正常启动,错误0xc0150002
- 蓝桥杯——等差素数列(c语言)
- 漫谈软件架构设计系列(一):可用性设计
- python实现syn半扫描_python 实现 syn 扫描
- 中国高校计算机大赛英语cccc,通知-CCCC中国高校计算机大赛.PDF
- Android 利用摄像头指尖测试心率
- Day.js 一个轻量级的 JavaScript 时间日期处理库
- 如何实现访问不同网络下的局域网网站
- python读文本并写入另一个文本文件中怎么做_使用文本Python将文件中的文本写入另一个文件...
- input 表单的type属性
- 实现DQN算法玩CartPole
热门文章
- 从Notes迁移到Exchange Server 2010 之三
- dubbo 实践笔记
- 得到Js文件的绝对路径或相对路径的两法
- python如何使用字典_python字典怎么使用zip
- java calendar字符串显示_java关于字符串和日期的代码展示
- Fliptile(状压+思维)
- 蓝桥杯之第几个幸运数
- java程序设计教程实验报告_java程序设计课程--实验报告-实验13.doc
- XGBoost对比RandomForest、GBDT、决策树、SVM,XGB+LR精度还能提升
- 教职工使用计算机管理制度,【学校管理规章制度】教师笔记本电脑使用与管理制度...