字典去重 YYDS

然后再写入excel 表 yyds
#!/bin/env python3
from git.repo import Repo
import os
import pandas as pds
path = "/home/labstation/workqueue/sw"
url = "git@10.0.128.128"
date = [str(x) for x in range(202307, 202308)]
datefmt = "%Y%m"
counts = 0
AUTHORS = {}
AUTHORS_UNIQU = {}
DATE = {}
DATE_UNIQU = {}
for proj in os.scandir(path):
    if not os.access(path + "/" + proj.name + "/.git", os.F_OK):
        continue
    repo = Repo(path + "/" + proj.name)
    remoteUrl = repo.git.execute(["git", "remote", "-v"])
    if type(remoteUrl) is str:
        remoteUrl = map(lambda x: x.strip("\t"), remoteUrl.split("\n"))
        for checkUrl in remoteUrl:
            if checkUrl.find(url) > 0:
                continue
    res = repo.git.execute(["git", "branch", "-r"])
    if type(res) is str and len(res) != 0:
        branches = filter(
            lambda x: not x.startswith("origin/HEAD"),
            map(lambda x: x.strip(" "), res.split("\n")),
        )
        for it_branch in branches:
            for it in repo.iter_commits(it_branch):
                if it.authored_datetime.strftime(datefmt) in date:
                    AUTHORS[str(it)] = it.author.name
                    DATE[str(it)] = (
                        it_branch,
                        proj.name,
                        it.author.name,
                        it.authored_datetime.strftime(datefmt),
                    )
for _it in AUTHORS:
    AUTHORS_UNIQU[AUTHORS[_it]] = 0
for _it in AUTHORS_UNIQU:
    for _its in AUTHORS:
        if _it == AUTHORS[_its]:
            AUTHORS_UNIQU[_it] += 1
for _it in DATE:
    DATE_UNIQU[DATE[_it]] = 0
for _it in DATE_UNIQU:
    for _its in DATE:
        if _it == DATE[_its]:
            DATE_UNIQU[_it] += 1
TotalExcel = {"姓名": [], "次数": []}
for _it in AUTHORS_UNIQU:
    TotalExcel["姓名"].append(_it)
    TotalExcel["次数"].append(AUTHORS_UNIQU[_it])
Excel = {"分支": [], "仓库名称": [], "提交者": [], "提交日期": [], "提交次数": []}
for it in DATE_UNIQU:
    Excel["分支"].append(it[0])
    Excel["仓库名称"].append(it[1])
    Excel["提交者"].append(it[2])
    Excel["提交日期"].append(it[3])
    Excel["提交次数"].append(DATE_UNIQU[it])
writer = pds.ExcelWriter(date[0] + "~" + date[len(date) - 1] + ".xlsx")
excekWrute2 = pds.DataFrame(TotalExcel)
excekWrute2.to_excel(writer, sheet_name="统计总表")
execlWrite1 = pds.DataFrame(Excel)
execlWrite1.to_excel(writer, sheet_name="各仓库统计")
writer.close()
 
保存成excel 表格输出
YYDS … …



















![[python]conda激活环境后pip -V显示在base路径](https://img-blog.csdnimg.cn/09a1978d3519414990960ceb6c1bd6cf.jpeg)