python将考勤表中同⼀个⼈,同⼀⽇期的多⾏出勤时间转换成同⼀列显⽰的⽅
法
python将考勤表中同⼀个⼈,同⼀⽇期的多⾏出勤时间转换成同⼀列显⽰的⽅法
原始表:
注意原始表中的⽇期和时间转换成⽂本的形式存储在EXCEL 中。
python代码:
import numpy as np
import xlrd
import datetimepython怎么读取excel某一列
import time
import numpy as np
import pandas as pd
fp=‘D:/乔雪梅/考勤表.xlsx’#原考勤表的存储路径
worksheet = xlrd.open_workbook(fp)
sheet_names= worksheet.sheet_names()
sheet = worksheet.sheet_by_name(sheet_names[0])
rows = ws # 获取⾏数
#读取关键信息,包括⼈名,⽇期,时间
name=[]# ⼈名
dates=[] #⽇期
times=[]# 时间
#注意原始表格中的⽇期和时间在原始表格中转换为⽂本的⽅式存储,转换⽅式:=TEXT(E13,“hh:mm:ss”)
for i in range(1,rows) :
#cell = ll_value(i,0) # 注意0表⽰第1列数据,1表⽰第⼆列数据
name.ll_value(i,0))
dates.ll_value(i,1))
times.ll_value(i,2))
count=[]
colmn=[‘姓名’,‘考勤⽇期’,‘签到时间1’,‘签到时间2’,‘签到时间3’,‘签到时间4’,‘签到时间5’,‘签到时间6’,‘签到时间7’,‘签到时间8’]
count.append(colmn)
temp=[]
temp.append(name[0])
temp.append(dates[0])
for i in range(len(name)):
if name[i]==temp[0] and dates[i]==temp[1]:
temp.append(times[i])
else:
count.append(temp)
temp=[]
temp.append(name[i])
temp.append(dates[i])
print(name[i])
print(dates[i])
temp.append(times[i])
count.append(temp)
#将数据写⼊EXCEL表格的⽅法
data = pd.DataFrame(count)
writer = pd.ExcelWriter(‘A.xlsx’) # 写⼊Excel⽂件,路径可以任意指定
<_excel(writer, ‘page_1’, float_format=’%.5f’) # ‘page_1’是写⼊excel的sheet名
writer.save()
writer.close()
转换后的数据存储在与python⽂件同路径的以A命名的EXCEL表格中,转换后如下。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论