openpyxl

使用openpyxl生成包含echarts柱形图的Excel文件

五迷三道 提交于 2020-05-08 16:52:01
使用openpyxl生成包含echarts柱形图的Excel文件 效果图如下: 代码如下: from openpyxl import Workbook from openpyxl.chart import BarChart, Series, Reference wb = Workbook(write_only=True) ws = wb.create_sheet() rows = [ ('时间', '男', '女'), (2015, 70414, 67048), (2016, 70815, 67456), (2017, 71137, 67871), (2018, 71351, 68187), (2019, 71527, 68478) ] for row in rows: ws.append(row) chart1 = BarChart() chart1.type = "col" chart1.style = 1 chart1.title = "柱形图" chart1.y_axis.title = '数量(万人)' chart1.x_axis.title = '时间' data = Reference(ws, min_col=2, min_row=1, max_row=6, max_col=3) cats = Reference(ws, min_col=1, min_row=2,

《自拍教程63》Python Testlink用例导入工具excel2xml

跟風遠走 提交于 2020-05-08 08:07:57
案例故事: Testlink是我们常用的用例管理工具,很多公司其实都在用, Testlink 支持制定测试计划,支持多人在线同时管理维护/执行测试用例,自动生成测试报告等。 我个人也非常非常不推荐Excel线下管理测试用例, 但是官方提供的Testlink版本,是不支持Excel导入的,只能进行Xml导入。 没这个Excel导入功能,确实有点可惜了, 但是秉着Python是万能的,只是将Excel转Xml本也不是什么难事。 准备阶段 操作Excel的模块,一直首选openpyxl, 直接pip install openpyxl即可 操作Xml的模块,我建议首选ElementTree, 但是需要修改其源代码,原因如下3,4步。 根据 Testlink官方提供的文档 ,如果单独一条用例,其xml如下,看着晕乎,别怂,就是干! <?xml version='1.0' encoding='utf-8'?> <testcases> <testcase internalid="1" name="VTS测试——arm64-v8a VtsFastbootVerification"> <externalid /> <version> <![CDATA[1]]> </version> <summary> <![CDATA[VTS测试——arm64-v8a VtsFastbootVerification

运营的Python指南

自闭症网瘾萝莉.ら 提交于 2020-05-07 18:47:12
这是一份写给运营人员的Python指南。本文主要讲述如何使用Python操作Excel。完成Excel的创建,查询和修改操作。 相关代码请参考 https://github.com/RustFisher/python-playground 本文链接: https://www.rustfisher.com/2019/11/05/Python/Python-op-excel_openpyxl_use/ 开发工具,环境 PyCharm - 方便好用的IDE Python3 这里默认你的电脑上已经装有python3.x,环境变量已经配置好。 引入openpyxl 这里使用 openpyxl 库来操作Excel。类似的库还有xlrd。 penpyxl的基础使用方法请参见 Python openpyxl 处理Excel使用指南 。 pip install openpyxl 数据准备 假定数据来自百度指数,以常见的一些搜索指数为例。给后面的操作准备一些数据,把数据写入Excel中。 创建Workbook对象,获取到当前可用的表格(sheet)。 直接使用 append 方法把一行数据追加写入。最后调用Workbook的保存方法,存储数据。 def create_excel_demo(file_path): """ 创建Excel文件,并写入数据 :param file_path: 目标文件路径

使用Python自动生成报表以邮件发送

别等时光非礼了梦想. 提交于 2020-05-07 18:44:14
使用Python自动生成报表以邮件发送 Python中文社区 发表于 Python中文社区 订阅 89 编程狗在线 自由的编程学习平台 数据分析师肯定每天都被各种各样的数据数据报表搞得焦头烂额,老板的,运营的、产品的等等。而且大部分报表都是重复性的工作,这篇文章就是帮助大家如何用Python来实现报表的自动发送,解放你的劳动力,可以让你有时间去做更有意思的事情。 首先来介绍下实现自动报表要使用到的Python库: pymysql 一个可以连接MySQL实例并且实现增删改查功能的库 datetime Python标准库中自带的关于时间的库 openpyxl 一个可以读写07版以后的Excel文档(.xlsx格式也支持)的库 smtplib SMTP即简单邮件传输协议,Python简单封装成了一个库 email 一个用来处理邮件消息的库 为什么使用openpyxl库来处理Excel呢?因为它支持每个sheet的行数为100W+,也是支持xlsx格式的文件。如果你接受xls文件,并且每个sheet的行数小于6W,也是可以使用xlwt库,它对大文件的读取速度要大于openpyxl。 接下来我们就进入实战部分,来正式实现这个过程。我把整个实现过程分成几个函数的方式来实现,这样看着会比较有结构感。 一、首先导入所有要用到的库 # encoding =utf -8 import pymysql

一次、二次、三次指数平滑计算思想及代码

别来无恙 提交于 2020-05-03 14:40:05
一般常用到的指数平滑法为一次指数平滑、二次指数平滑和三次指数平滑,高次指数平滑一般比较难见到,因此本文着重介绍了一次、二次和三次指数平滑的特点与不同。 一次指数平滑一般应用于直线型数据,且一次指数平滑具有滞后性,可以说明有明显的时间性、季节性。 二次指数平滑一般也应用于直线型,但是效果会比一次指数平滑好很多,也就相当于加强版的一次指数平滑。 三次指数平滑可以应用于抛物线型的数据,因为数据在二次平滑过后还是具有斜率,那么可以继续使用三次指数平滑。 初值:不管什么指数平滑都会有个初值,假如数据大于20项,那么初值就可以认定为第一个数据,或者利用下列公式计算也行;假如数据小于20项,则初始值为: 低于20项 一般取3,大于20的看着取就行了。 一次指数平滑: 一次指数平滑需要滞后一期,给定平滑系数 ,那么一次指数平滑的计算公式为: 预测第 期的数值则是上一期的实际值与预测值的加权平均,预测公式为: 二次指数平滑: 给定平滑系数 ,那么二次指数平滑的计算公式为: 预测未来 期的值 的计算公式为: 其中: 三次指数平滑: 给定平滑系数 ,那么三次指数平滑的计算公式为: 预测未来 期的值 的计算公式为: 其中: 下面举例说明,数据如下: 253993 275396.2 315229.5 356949.6 400158.2 442431.7 495102.9 570164.8 640993.1

Err:508 in formula written with Openpyxl

时间秒杀一切 提交于 2020-04-30 11:20:10
问题 I have this script: from openpyxl import Workbook wb = Workbook() ws = wb.active ws['A1'] = 1 #any value ws['B1'] = 0 #any value ws['C1'] = 3 #any value ws['D1'] = 0 #any value ws['E1'] = "= IF(A1<>0;A1;1) * IF(B1<>0;B1;1) * IF(C1<>0;C1;1) * IF(D1<>0;D1;1)" wb.save('error.xlsx') When I open the file with LibreOffice Calc, I see Err:508 in E column: However, if I edit the formula in the command line, without changing nothing (i.e. add an space or erase any character and write the same again)

手把手教你使用Python抓取QQ音乐数据(第一弹)

我只是一个虾纸丫 提交于 2020-04-26 15:32:45
【一、项目目标】 获取 QQ 音乐指定歌手单曲排行指定页数的歌曲的歌名、专辑名、播放链接。 由浅入深,层层递进,非常适合刚入门的同学练手。 【二、需要的库】 主要涉及的库有:requests、json、openpyxl 【三、项目实现】 1.了解 QQ 音乐网站的 robots 协议 只禁止播放列表,可以操作。 2.进入 QQ 音乐主页 https://y.qq.com/ 3.输入任意歌手,比如邓紫棋 4.打开审查元素(快捷键 Ctrl+Shift+I) 5.分析网页源代码 Elements,发现无歌曲信息,无法使用 BeautifulSoup,如下图所示,结果为空。 6.点击 Network,看数据在不在 XHR(无刷新更新页 面),我的经验是先看 Size 最大的,然后分析 Name, 查看 Preview,果然在里面! 7.点击 Headers,拿到相关参数。如下图,仔细观察 url 与 Query String Parameters 参数的关系,发现 url 中的 w 代表歌手名,p 代表页数。 8.通过 json 代码实现,首先小试牛刀,爬取第一页 的数据,url 直接复制过来。成功! 9.引入 params 参数,实现指定歌手、指定页数的查询。 注意代码url为上一步url中“?”之前的部分, params两边的参数都需要加 ’’,requests.get 添加

PyInstaller打包python脚本的一些心得

回眸只為那壹抹淺笑 提交于 2020-04-26 06:26:44
PyInstaller打包python脚本的一些心得 因为在公司经常要帮同事做一个从excel表格中提取出需要的内容的重复工作,比较繁琐还容易出错;于是就想着要写个程序,但是同事又不可能在电脑上也装上python以及相关的包依赖(别人一看就觉得太麻烦而且太冗余),于是就想着将写好的python脚本打包成exe,直接双击使用,方便快捷。 说干就干,先是花点时间写完了脚本;然后搜索了相关的关键词,找到了py2exe、PyInstaller、cx_Freeze等工具,最后确定使用 PyInstaller 。 使用PyInstaller有几个原因: PyInstaller现在仍然在更新 PyInstaller使用方法简单,py2exe比较繁琐 PyInstaller网上教程比较多 安装PyInstaller 推荐使用pip安装 pip install pyinstaller -i https://pypi.douban.com/simple 后面加的 -i https://pypi.douban.com/simple 是使用豆瓣的源镜像,在天朝速度会快很多;如果你担心安全问题或者网速够快,可以不加,使用官方的源。 安装完后,直接 pyinstaller usage: pyinstaller-script.py [-h ] [-v ] [-D ] [-F ] [--specpath DIR

Python导出数据到Excel表格-NotImplementedError: formatting_info=True not yet implemented

孤街醉人 提交于 2020-04-21 12:54:25
在使用Python写入数据到Excel表格中时出现报错信息记录: “NotImplementedError: formatting_info=True not yet implemented” 报错分析:看报错信息是未实现的错,其实就是版本不兼容 我在代码中写的是使用xlrd库的方法进行Excel处理,但是我创建的Excel是office 2016版本的,而xlrd只支持2007以前的版本,导致不兼容报错 解决办法1:将模板文件另存为Excel 2003版本的文件格式 解决方法2:使用Python的openpyxl库中的方法进行编写代码 xlrd库与openpyxl库中使用的一些方法说明 : (1)、打开一个Excel文件 xlrd中用open_workbook方法: def open_workbook(filename= None, logfile = sys.stdout, verbosity = 0 , use_mmap = USE_MMAP, file_contents = None, encoding_override = None, formatting_info = False, on_demand = False, ragged_rows =False): open_workbook方法中参数说明: filename参数:是要打开文件的路径及名称 logfile

《自拍教程59》Python 批量在浏览器里打开Jira Bug(附练手素材)

倾然丶 夕夏残阳落幕 提交于 2020-04-21 01:07:18
案例故事 :有一天测试经理发给我一个Bug列表, 这些Bug都是被开发打回来的无效(WithDrawn)Bug, 就是开发不认为是bug, 测试经理觉得很有必要去分析下, 为什么这么多无效bug,到底是什么原因? 测试经理想知道,是测试提Bug太随意,还是无此需求,还是开发bug流转流程不对,还是其他的什么原因? 肯定是需要看具体Bug的备注,及流转记录的,所以肯定需要批量在浏览器端打开Bug详情网页一个个去看, 那如何批量地在浏览器端打开Bug呢? 准备阶段 Python的webbrowser 模块,可以轻松地实现打开网页url openpyxl是首选的excel解析模块。 Python批处理脚本形式 记住批处理脚本的精髓:批量顺序执行语句 # coding=utf-8 import os import webbrowser import openpyxl # 定义本模块(文件)内的常用变量 excel_file = "Witdrawn_Buglist.xlsx" # excel名称 bugid_col = 1 # Bug ID 列序号 url_prefix = "https://bugreports.qt.io/browse/" # jira url 前缀 # 获取BugID并在浏览器端打开 excel = openpyxl.load_workbook(excel_file)