.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, []
ddc5dd808c0459a4bee2277c9ffd1f34.png
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机器人

领域 数据统计

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/244643.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

航天金税 接口_用友凭证接口可以实现数据之间无缝对接和打通

用友凭证接口可以实现数据之间无缝对接和打通用友凭证接口支持数据源多样性:凭证接口可以支持多种数据源、多种系统做接口集成,其中以医院HIS系统、航天金税系统、OA系统、其他软件业务系统等已经成功对接并导入数据。可以支持sql、mysql、orecal、excel…

matlab数组存字符串,MATLAB字符串数组存储为CSV格式

直奔主题,需要保存处理图像的文件名(string)数组。本文只用作自己的实验记录,侵删。搬运自matlab官网的代码:https://www.mathworks.com/matlabcentral/fileexchange/7601-cell2csv?s_tidmwa_osa_a以下为MATLAB cell array to csv的函数实现…

python partition by函数_python – 避免Spark窗口函数中单个分区模式的性能影响

在实践中,性能影响几乎与您省略了partitionBy子句相同.所有记录将被洗牌到一个分区,在本地排序并逐个顺序迭代.差异仅在于总共创建的分区数.让我们举例说明使用包含10个分区和1000个记录的简单数据集的示例:df spark.range(0, 1000, 1, 10).toDF("index"…

oracle 最近的sql语句,oracle最近执行的sql语句

oracle最近执行的sql语句2017-01-13oracle 查询最近执行过的 SQL语句1、修改日期显示格式alter session set nls_date_format’YYYY-MM-DD HH24:MI:SS’;2、哪个主机最近执行的sql语句:SELECT b.sql_text,a.machine,a.username, a.module,c.sofar / totalwork * 100,c.elapsed_…

selinux= 为 disabled_「丁香园」五年没考过执医,就不要出来「为祸人间」了

如今,网上流传着一句话:「五年没考过执医,就不要出来为祸人间了」但事实上,有很多同学,并不是不适合这条路,而是不知道如何学习前段时间,20 年的执医考试分数出了。看到很多人在丁香论坛分享自己…

检测到目标url存在框架注入漏洞_HOST注入攻击剖析

关于网站的渗透测试可能师傅们都有自己一套思路,有个共同点就是目标网站基本属于全静态页面,几乎很少存在动态参数这时意味着客户端无法通过提交参数形式进行测试,理论上也规避掉了许多风险。既然无法从参数层面进行测试,那么考虑…

php简单环境,PHP 简单的环境搭建

windows nginx mysql php https://code.google.com/p/wnmp-server/ php手册 http://www.phpchina.com/download/handbook/openbiz_manual/php-bigxhtml.html http://www.php.net/manual/zh/index.php http://www.w3school.com.cn/php/index.asp http://localhwindows nginx m…

wpfdiagram 学习 教学_李倩、吴欣歆:新高考背景下高中语文教学的三个转变

新高考背景下高中语文教学的三个转变李倩 吴欣歆大量的实证研究指出,以中高考为代表的高利害型评价方式对教师教学具有显著的回冲效应。当考试与评价能够为学科学习带去更多富有价值的信息以及关于学习理念、学习策略的积极引领时,评价对教学的指挥棒作…

python莫比乌斯_莫比乌斯函数 - osc_7eqzxl4g的个人空间 - OSCHINA - 中文开源技术交流社区...

前导要学习莫比乌斯函数 需要学习 到 积性函数,深度理解欧拉筛。先说说什么是积性函数吧。积性函数其实积性函数非常好理解,定义积性函数:若gcd(a,b)1,且满足f(ab)f(a)f(b),则称f(x)为积性函数完全积性函数&#xff1a…

macos catalina 合盖 风扇狂转_防爆排风扇BFS-400叶轮直径400mm功率180W/220V转速1400rpm风量2400_...

防爆排风扇BFS-400叶轮直径400mm功率180W/220V转速1400rpm风量2400 一、防爆排风扇BFS-400叶轮直径400mm功率180W/220V转速1400rpm风量2400 风机概述隔爆型防爆排风扇(以下简称排风扇)其防爆性能按《爆炸性环境用防爆电气设备通用要求》《 爆炸性环境用防爆电气设备隔爆型电气设…

python的xlrd怎么安装_python接口测试,第三方包xlrd和xlutils,怎么安装

第1个:xlrd的下载地址:https://pypi.python.org/pypi/xlrd/0.9.2安装过程:下载后解压文件夹,使用cd命令行进入该文件夹后,用命令:python setup.py install 之后再import发现安装好了第2个:pip i…

linux传输文件scp自动接密码,配置scp在Linux或Unix之间传输文件无需密码

如何配置scp文件传输实现scp在Linux或Unix之间传输文件,首先需要配置好scp,默认scp要使用密码的,通过以下配置可以不用输入密码,就完成Linux或Unix之间的文件传输假设有2台Linux, A server, B server(ip假设…

Excel表Ctrl+v和Ctrl shift+v有什么区别_Ctrl键与10个数字键,26个字母键的组合应用技巧解读...

键盘是一种必备的输入设备,其应用率最高的就是10个数字和26个字母。如果将这10个数字和26个字母与Ctrl键组合,并应用到Excel中,会是怎样的一种体验。一、Ctrl与数字键。1、Ctrl1:打开【设置单元格格式】对话框。方法:选…

图像信噪比计算公式_CT 科研设计之图像质量对比研究三步曲

CT科研是CT技术的窗口,帮助医务工作者开展CT科研也是我们的责任和义务! 问如何科学地比较不同重建技术的图像质量?答首先要排除其他影响图像质量的因素,然后进行客观指标的比较,最后进行主观指标的比较。CT 科研设…

linux rm 中文文件夹,在Linux下删除文件及文件夹(rm)

删除目录、文件 rm(remove)功能说明:删除文件或目录。语  法:rm [-dfirv][--help][--version][文件或目录...]补充说明:执行rm指令可删除文件或目录,如欲删除目录必须加上参数”-r”,否则预设仅会删除文件。参  数…

vue 改变domclass_手机上的大片制作软件——如何使用VUE

作者:海旅所 姚嘉禾VUE是一款手机视频拍摄与美化工具,允许用户通过简单的操作实现视频的拍摄、导入视频的剪辑,表现力的细调、改变滤镜,加贴纸和背景音乐等功能,轻松在手机上拍出电影大片的质感,实时记录与…

徐涛八套卷pdf_徐涛八套卷pdf,11月9日资料更新!

每日更新:天猫正版优惠券 肖四肖八50 原价659?f/u枝口~令¥U2rvc9tppTl¥回?t~bao?或坫击しāη接 https://m.tb.cn/h.4XKmUmV 至留览器徐涛冲刺四件套56 原价619?復淛这个¥ehWyckQvkBq¥打кǎI?淘Ь?或點凢しāη…

linux查代替命令,Linux下查/删/替 命令(转)

▪查看某目录下所有文件的个数:[rootlocalhost1 opt]# ls -l |grep "^-"|wc -l▪查看某目录下所有文件的个数,包括子目录里面的:[rootlocalhost1 opt]# ls -lR|grep "^-"|wc -l▪查看某目录下文件夹(目录)的个数&#xf…

lan8720a自协商启动_紫金矿业2020届校招海外9站全面启动(面向全专业)

01了解紫金矿业自1993年始27载春秋,紫金矿业砥砺前行现已成长为中国控制金属矿产资源最多的企业之一AH 股上市千亿级矿业巨头紫金矿业口碑载道亚洲最佳矿业公司2019年《福布斯》排行榜全球黄金企业第1位有色金属企业第10位2019年《财富》中国企业排行榜稳居百强紫金…

cad移动时捕捉不到基点_硬盘或移动硬盘认不到时,应该怎样进行故障的检测才正确...

其实能理解许多PC用户或笔记本电脑用户,在操作系统无法正常启动或是移动硬盘无法正常识别时往往都是找身边懂维修或是公司IT人员先进行检测,但是在做这些操作时千万要慎重,毕竟这关系到存在硬盘上的重要数据。为了能够最大限度上保证数据的可…