python将考勤表中同一个人,同一日期的多行出勤时间转换成同一列显示的方法
python将考勤表中同一个人,同一日期的多行出勤时间转换成同一列显示的方法
原始表:
注意原始表中的日期和时间转换成文本的形式存储在EXCEL 中。
python代码:
import numpy as np
import xlrd
import datetime
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 = sheet.nrows # 获取行数
#读取关键信息,包括人名,日期,时间
name=[]# 人名
dates=[] #日期
times=[]# 时间
#注意原始表格中的日期和时间在原始表格中转换为文本的方式存储,转换方式:=TEXT(E13,“hh:mm:ss”)
for i in range(1,rows) :
#cell = sheet.cell_value(i,0) # 注意0表示第1列数据,1表示第二列数据
name.append(sheet.cell_value(i,0))
dates.append(sheet.cell_value(i,1)) times.append(sheet.cell_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文件,路径可以任意指定
data.to_excel(writer, ‘page_1’, float_format=’%.5f’) # ‘page_1’是写入excel的sheet名
writer.save()
writer.close()
转换后的数据存储在与python文件同路径的以A命名的EXCEL表格中,转换后如下。
- 点赞
- 收藏
- 分享
- 文章举报
- 关于Web项目里的给表单验证控件添加结束时间不得小于开始时间的验证方法,日期转换和前台显示格式之间,还有JSON取日期数据格式转换成标准日期格式的问题
- 通过扩展方法,将C#的DateTime(日期)转换成人性化的显示,模仿微博显示的“发布时间”
- python时间戳转换日期格式的方法是什么
- android 日期时间格式转换;软键盘显示消失;获取系统title
- 使用jQuery方法获取当前日期和时间!(时钟显示功能)
- Python时间戳和日期的相互转换
- js 处理日期时间字符串显示的方法
- EXCEL时间日期转换为常规字符显示
- java时间戳与日期字符串相互转换方法
- 常用python日期时间方法
- Python时间,日期,时间戳之间转换
- 日期转换(用DateTime的ParseExact方法解析特殊的日期时间)
- Python实用日期时间处理方法汇总
- 【Python爬虫实战--2】时间戳转换为指定格式日期
- Python操作日期和时间的方法
- jquery 时间戳转成日期格式 , 后台返回时间格式(后台没有进行时间格式转换) ,前端转换成日期格式显示。
- 在Python操作时间和日期之asctime()方法的使用
- js获取时间戳 及 将其转换成正常日期的方法
- python中日期和时间格式化输出的方法小结
- JSON.stringify转换JSON时日期时间不准确的解决方法