Python与Jira的搭配使用详解(3)

一、将bug数据写入Excel中

经过前面两篇文章的学习,我们已经知道如何提交issue、获取issue信息,本次我们将介绍如何将获取的信息保存到Excel中,并自动得到数据。

1.1 保存数据到Excel中

使用xlwt、xlrd、xlutils等模块,来进行对数据的处理,并设置单元格的格式。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# 2022/7/21 14:44

import xlrd,xlwt
from xlutils.copy import copy
import time

class ReadWrite():

    def __init__(self,path=""):
        self.book = xlrd.open_workbook(path)
        self.book_copy = copy(self.book)
    def read_ex(self,params):
        """
        :param params: 表的名字或者索引
        :return: 返回表的对象
        """
        try:
            sheet = self.book.sheet_by_index(params)
            return sheet
        except:
            sheet = self.book.sheet_by_name(params)
            return sheet

    def write_ex(self,row,col,values,style = ""):
        """
        :param row: 行(0)
        :param col: 列(0)
        :param values: 值
        :param style: 格式
        :return: 
        """
        sheet = self.book_copy.get_sheet(0)
        sheet.row(row).height_mismatch = True
        sheet.row(row).height = 500
        sheet.col(col).width = 256 * 16
        if style == "":
            sheet.write(row,col,values)
        else:
            sheet.write(row,col,values,style = style)

1.2 设置单元格的其他属性

设置单元格边框、垂直水平居中、自动换行、背景颜色
以下是所有的边框颜色、背景颜色和对应的颜色序号。
在这里插入图片描述

在这里插入图片描述

    def set_border(self,value=1,color=22):
        borders = xlwt.Borders()  # 创建边框对象
        # 上下左右都添加边框
        borders.left = value
        borders.right = value
        borders.top = value
        borders.bottom = value
        # 设置边框颜色
        borders.left_colour = color
        borders.right_colour = color
        borders.top_colour = color
        borders.bottom_colour = color
        return borders

    def set_aligment(self,h_value=2,v_value=1,wrap = 1):
        alignment = xlwt.Alignment()
        alignment.horz = h_value  # 设置水平位置,1是左对齐,2是居中,3是右对齐
        alignment.vert = v_value  # 设置垂直位置,0是左对齐,1是居中,2是右对齐
        alignment.wrap = wrap  # 设置自动换行
        return alignment

    def set_patten(self,color=21):
        patten = xlwt.Pattern()
        patten.pattern = xlwt.Pattern.SOLID_PATTERN
        patten.pattern_fore_colour = color  # 给背景颜色赋值
        return patten
        
    def save_excel(self,path =f'{time.strftime("%Y%m%d")}.xls'):
        self.book_copy.save(path)

得到不同的边框颜色和背景颜色。

if __name__ == '__main__':
    r = ReadWrite()
    style = xlwt.XFStyle()


    style.alignment = r.set_aligment()
    sum = -1
    for i in range(10):
        for j in range(10):
            sum = sum+1
            style.borders = r.set_border(color=sum)
            # style.pattern = r.set_patten(color=sum)
            r.write_ex(i,j,str(sum),style)
    r.save_excel()

二、将附件插入Excel中

本次使用的openpyxl的模块的方法来对图片进行操作。将图片嵌入单元格

from openpyxl import Workbook,load_workbook
from openpyxl.drawing.image import Image
from openpyxl.drawing.spreadsheet_drawing import AnchorMarker, TwoCellAnchor

class InsertImage():

    def __init__(self,path,sheet_name):
        self.path = path
        self.wb = load_workbook(path)
        # self.ws = self.wb.active
        self.ws =self.wb[sheet_name]
        # self.ws.title = "1"

    def insert_image(self,col,row,path):
        img = Image(path)
        _from = AnchorMarker(col, 50000, row, 50000)
        to = AnchorMarker(col+1, -50000, row+1, -50000)
        img.anchor = TwoCellAnchor('twoCell', _from, to)
        self.ws.add_image(img)

    def save_excel(self):
        self.wb.save(self.path)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中有一个名为Jira的库,它可以用于与Atlassian Jira的REST API进行交互,允许您从Python脚本中执行各种Jira操作。 以下是一些基本的Jira库用法: 1. 安装Jira使用pip安装jira库: ``` pip install jira ``` 2. 连接到Jira 使用以下代码连接到Jira: ```python from jira import JIRA jira_options = {'server': 'https://your-jira-instance.com'} jira = JIRA(options=jira_options, basic_auth=('username', 'password')) ``` 在上面的代码中,您需要将“ your-jira-instance.com”替换为Jira实例的URL,以及您的用户名和密码。 3. 创建问题 要创建新的问题,使用以下代码: ```python new_issue = jira.create_issue(project='PROJ', summary='New issue', description='This is a new issue', issuetype={'name': 'Bug'}) ``` 在上面的代码中,“ PROJ”是项目的关键字。您还可以指定问题的摘要,说明和类型。 4. 获取问题 要获取特定问题的详细信息,请使用以下代码: ```python issue = jira.issue('PROJ-123') ``` 在上面的代码中,“ PROJ-123”是问题的关键字。 5. 更新问题 要更新问题,请使用以下代码: ```python issue.update(summary='New summary', description='New description') ``` 在上面的代码中,您可以指定要更新的问题的属性。 6. 查询问题 使用以下代码查询问题: ```python issues = jira.search_issues('project=PROJ') ``` 在上面的代码中,“ PROJ”是项目的关键字。您可以使用各种其他查询参数来过滤结果。 这只是Jira库的基本用法。有很多其他功能和选项,可以在Jira库文档中找到更多信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值