git 使用 与openpyxl模块

本文详细介绍了Git的基本操作,包括工作区、缓存区、本地仓库和远程仓库的概念,以及如何通过Git进行代码版本控制。同时,文章还深入探讨了团队开发中如何利用Git进行代码审查和协同开发,提供了实际的开发流程示例。

工作区:当前编辑的区域

缓存区:add 之后的区域

本地仓库:commit之后的区域

远程仓库:远程的区域

基本操作

在项目下在init
git init 初始化 git status 查看git的状态 绿色代表放在了缓存区 git add 将文件放到缓存区 `git config
--global user.email 'xiaoqiang@oldboyedu.com'`设置用户的邮箱 `git config --global user.name "saoxiaoqiang"` 设置用户的用户名 git log 查看当前版本之前提交记录 git reset --hard hash值 回退到之前某次提交的地方 慎用 git reflog 查看所有的提交记录 git checkout filename 将指定文件回退到最近一次commit的地方,只对工作区做修改,缓存区不变 慎用 git reset HEAD filename 将指定文件从缓存去拉取到工作区,不会覆盖原来的文件 git diff 对比缓存区和工作区的区别 git diff --cached 对比缓存区和本地仓库的区别

 快照功能  也就一个人开发的时候 有用 多人开发 慎用

git stash 创建一个快照

git stash pop 取出快照并删除快照记录

git stash list  查看快照记录

git stash drop name 删除快照

git stash apply name 取出快照

新电脑环境

git init 第一次需要init
git remote add origin https://github.com/WuPeiqi/greenlu.git
git pull origin master 直接拿回来

git add .
git commint -m '提交信息'
git push origin master

 分支操作

git branch 查看分支

git branch name 创建分支 当前代码
git checkout name 切换分支
git checkout -b name 创建并切换分支

git pull origin dev 推dev到线上

git branch dev origin/dev  创建dev分支并以线上的为蓝本 没有的时候才推送
git branch -d 删除分支

删除远程分支: git push origin --delete [branchname] 

修复bug流程

git branch dev
git checkout dev
写的代码要提交
git add .
gitcommit -m 'xxx'

线上有bug 先切换master
git checkout master
git branch bug
git chekcout bug
#修复bug
git add .
git commit -m '紧急修复bug'

git checkout master #切换master
git merge bug #合并

git branch -d bug #删除bug

git checkout dev #继续开发

一般 公司 一个人 一个分支 外加有 review的分支

协程开发小例子

海燕创建了个文件
            git branch haiyan 
            git checkout haiyan
            touch a.py 
            ls 
            git add . 
            add commit -m '代码初始上线'
            git push origin haiyan 
            ls
            vim a.py  #写了一些内容
            git add . 
            add commit -m '小功能开发完毕'
            git push origin haiyan 
            #现在两人都写完了,开始合并和review进行合并了
            git checkout review
            git pull origin review  #吧远程的review拉下来
            #吧自己的合并发到review
            git merge haiyan 
            ls 
            git status 
            git push origin review 
            
            #再次写的时候
            git pull origin review  
宋康创建了个文件
            git branch sk 
            git checkout sk 
            touch s.py 
            ls 
            git add . 
            add commit -m '到了新公司好激动啊'
            git push origin sk 
            ls
            vim s.py  #写了一些内容
            git add . 
            add commit -m '小开发完毕'
            git push origin sk 
            #现在两人都写完了,开始合并和review进行合并了
            git checkout review
            #git pull origin review  #如果先没有吧远程的review拉下来
            #吧自己的合并发到review
            git merge sk 
            ls 
            git status 
            git push origin review   #这时候的review是最新的,那么海燕先提交了,完了她还得拉先来再合并一次
        老大看了review分支,如果OK,可以放到dev分支进行测试,如果测试没有问题了
        才放到master分支。
        master分支:线上的版本,永远保证线上的版本,无论是回滚到哪都是能用的

两个面试题

1、你们公司的代码review分支怎么做?谁来做?
        答:我们创建的review分支,我们小功能开发完之后,合并到review分支
            交给老大(小组长)来看,
            你组长不开发代码吗?
                他开发代码,但是它只开发核心的东西,任务比较少。
                或者抽出时间,我们一起做这个事情
2、你们公司协同开发是怎么协同开发的?
        每个人都有自己的分支,阶段性代码完成之后,合并到review,然后交给老大看

git 提交 忽略文件  如保存了用户名密码文件

vim .gitignore#创建隐藏文件

db.py

你在 git add .     

gitcommit'新增忽略文件' 

git push origin dev

这样提交的时候 就忽略了 db.py文件了

提交版本信息

里程杯

git tag -a v1.0 -m 'v1.0版本' #当前设置成1.0版本

git tag 查看

git tag -a 1.1 -m '1.1版本' hash  #以某次提交远程的tag为版本

git push origin :refs/tags/1.1 #删除远程的tag

git push origin --tags 上传所有的tag

git tag -d v1.0

git pull 下载

git 指定显示格式

[root@git-node1 demo]# git log --pretty=oneline
95734131860ef7c9078b8a208ff6437d0952380b chnged name index.html->index.php
85bd2680bd4b70aeded9dbd230c07ab086712ff9 the first commit index.htm
可以使用format参数来指定具体的输出格式,这样非常便于后期编程的提取分析哦,常用的格式有:
%s  提交说明。
%cd 提交日期。
%an 作者的名字。
%cn 提交者的姓名。
%ce 提交者的电子邮件。
%H  提交对象的完整SHA-1哈希字串。
%h  提交对象的简短SHA-1哈希字串。
%T  树对象的完整SHA-1哈希字串。
%t  树对象的简短SHA-1哈希字串。
%P  父对象的完整SHA-1哈希字串。
%p  父对象的简短SHA-1哈希字串。
%ad 作者的修订时间。
 git log --graph --pretty=format:'%s'


openpyxl 写
from openpyxl import  Workbook
wb =Workbook()
#创建工作薄
wb1=wb.create_sheet('index',0)
#修改名称
# wb1.title='text'
#添加数据
wb1['A3']=4
wb1['A4']=6
# 添加函数
wb1["A5"]='=sum(A3:A4)'
#第二种添加数据的方式
        #行    列4
wb1.cell(row=3,column=4,value=5)
#添加一行记录
wb1.append(["姓名","年龄","ah","addr"])
#添加一个空行
wb1.append([])
#添加一行数据
wb1.append(['alex','','nan','shahe'])
wb.save('1.xlsx')

from openpyxl import  load_workbook
wb=load_workbook('1.xlsx',data_only=True)#data是读函数 read_only=True只读在columns中不可用
#获取工作薄的名称
wb1=wb['index']
#读方式1
print(wb1["A3"].value)
#读的第二种方法
print(wb1.cell(row=3,column=1).value)

for row in wb1.rows:#打印所有行数据
    for c in row:#获取每一个单元
        print(c.value)
for column in wb1.columns:
    #获取每一个单元格数据
    for r in column:
        print(r.value)
#获取最大的行数
print(wb1.max_row)
#获取最大的列数
print(wb1.max_column)

 

转载于:https://www.cnblogs.com/zaizai1573/p/10791287.html

# 使用import导入openpyxl模块 import openpyxl # TODO 使用from...import从pyecharts.charts # 导入Timeline模块和Funnel模块 from pyecharts.charts import Timeline, Funnel # 使用from...import从pyecharts导入options模块,简写为opts from pyecharts import options as opts # 将文件路径赋值给path path = "/Users/caicai/候选人跟进.xlsx" # 使用openpyxl.load_workbook()读取文件,赋值给wb wb = openpyxl.load_workbook(path) # 使用中括号读取工作表岗位序列,赋值给positionSheet positionSheet = wb["岗位序列"] # TODO 定义函数read_excel()传入参数row(行数) def read_excel(row): # TODO 使用 工作表[] 读取第1行的数据赋值给label label=positionSheet[1] # TODO 使用 工作表[] 读取第row行的数据赋值给num num=positionSheet[row] # 新建列表total total = [] # 使用for循环和range()遍历1-6 for i in range(1,7): # 取label中的每项元素,使用.value得到值,赋值给title title = label[i].value # 取num中的每项元素,使用.value得到值,赋值给number number = num[i].value # 新建列表temp temp = [] # 使用if判断i等于1时 if i == 1: # 使用append()将title和100%追击到列表temp temp.append(title+"100%") # 其他情况 else: # 使用(当前项/前一项)*100,赋值给pass_rate pass_rate = (number/num[i-1].value)*100 # 使用round()保留pass_rate的一位小数,赋值给percent percent = round(pass_rate, 1) # 使用append()将标签和格式化组成的x%追加到列表temp temp.append(title+f"{percent}%") # 使用append()将number追加到列表temp temp.append(number) # 使用append()将temp追加到列表total total.append(temp) # TODO 使用return返回(num[0].value, total) return (num[0].value,total) # TODO 使用Timeline创建对象赋值给tl tl=Timeline() # TODO 使用for循环配合range()函数遍历2~7 for i in range(2,8): data=read_excel(i) # TODO 使用Funnel创建对象赋值给funnel funnel=Funnel() # TODO 将series_name设为空,data[1]赋值给data_pair,设置gap值为10 # 将参数添加到add()函数中 funnel.add(series_name="",data_pair=data[1],gap=10) # TODO 使用LegendOpts(),传入参数is_show=False,赋值给legend_opts # 使用TitleOpts(),设置标题为"各岗位招聘转化率",赋值给title_opts # 调用set_global_opts() funnel.set_global_opts(legend_opts=opts.LegendOpts(is_show=False),title_opts=opts.TitleOpts(title="各岗位招聘转化率")) # TODO 将funnel赋值给chart,以格式化将f"{data[0]}岗位"赋值给time_point # 使用add()函数依次传入参数 tl.add(chart=funnel,time_point=f"{data[0]}岗位") # TODO 使用render()生成文件保存到/Users/caicai/position.html tl.render("/Users/caicai/position.html") 分析该代码,为什么在两个编程程序运行出来的html文件不一样
07-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值