openpyxl

【python办公自动化】openpyxl如何操作xls文件——把xls文件另存为xlsx文件

大憨熊 提交于 2020-10-28 10:18:52
前言 Openpyxl 在处理起excel表格是非常方便的。然而,openpyxl只支持xlsx文件的处理,并不能支持xls文件。又不想换第三方库,又想处理xls文件,于是想了个折中的方法,那就是将xls文件转换成xlsx文件。再用openpyxl进行处理。 代码如下: def xls2xlsx(file_name): """ 将xls文件另存为xlsx文件 :param file_name: 要转换的文件路径 :returns: new_excel_file_path 返回新的xlsx文件的路径 """ excel_file_path = file_name import win32com.client excel = win32com.client.gencache.EnsureDispatch('Excel.Application') wb = excel.Workbooks.Open(excel_file_path) new_excel_file_path = r"{old_file_path}x".format(old_file_path=excel_file_path) if os.path.exists(new_excel_file_path): # 先删掉新复制的文件 os.remove(new_excel_file_path) wb.SaveAs(new

opencv+python制作硬核七夕礼物

倾然丶 夕夏残阳落幕 提交于 2020-10-22 12:11:30
点击上方" 蓝色小字 "关注我呀 明天就是七夕了! 如果有对象,祝早生贵子! 没有对象,祝早结连理! (搞笑一下,祝大家幸福美满吧,嘿嘿嘿) 给大家准备了一份已经写好的代码,利用python+opencv+openpyxl,opencv实现读取图片像素颜色,然后 openpyxl 自动填充Excel表格对应单元格背景颜色,得到一副Excel填充图画。文末代码下载链接。 先来看看效果叭(gif动图)! 把图片换成女朋友的真人图像会更逼真,会更加更好看。 然后看代码叭! 配置环境 我们需要用到python以及openpyxl和opencv包,没有下载的小伙伴可以去配置一下,超级简单: 大概就是在python终端(看个人环境)执行: pip install opencv-python pip install openpyxl 下面是我安装openpyxl包的录屏,可以参考一下,也可以跳过。 配置完成后就是导入我们需要的包了,这儿不需要过多了解: #导入opencv和openpyxl import openpyxl import cv2 as cv import numpy as np from openpyxl import load_workbook from openpyxl import workbook # 导入字体、边框、颜色以及对齐方式相关库 from openpyxl

Python精确四舍五入/保留小数位数问题及Excel数据自动对比的优化处理

你说的曾经没有我的故事 提交于 2020-10-01 12:57:44
今天在提取两个Excel中数据的时候,准备做自动对比判断两个值是否相等,数据在保留小数位数时,用了python的round函数来四舍五入,但是发现计算的结果和自己预期的不一样,于是查了很多的资料,算是了解了。 openpyxl库提取数字时候的单元格数据,为float浮点型数据,那么就会存在大大小小的精度问题。 1、round函数,精度低,如果需要考虑精度,尽量避免使用 print ( round ( 0.55 , 1 ) ) >> > 0.6 print ( round ( 1.55 , 1 ) ) >> > 1.6 print ( round ( 2.55 , 1 ) ) >> > 2.5 print ( round ( 3.55 , 1 ) ) >> > 3.5 在python官方文档中,有这样提到: Note: The behavior of round() for floats can be surprising: for example, round(2.675, 2) gives 2.67 instead of the expected 2.68. This is not a bug: it’s a result of the fact that most decimal fractions can’t be represented exactly as a float