利用Python编写一个程序,条件如下,访问一个Excel表格,对人员进行排序,每三个人为一组,从早上八点开始一个半小时一组人员上班
时间: 2024-10-29 11:20:45 浏览: 14
python项目源码_实例41_Python分类汇总278张Excel表中的数据.rar
5星 · 资源好评率100%
在Python中,我们可以使用pandas库来处理Excel文件并操作数据。下面是一个简单的示例,展示如何读取Excel表格、对人员按姓名排序,并按照指定时间间隔分组。假设你的Excel表格有一个名为"Sheet1"的工作表,其中包含列名"Name"和"ShiftTime"。
```python
import pandas as pd
# 1. 读取Excel文件
df = pd.read_excel('your_file.xlsx', sheet_name='Sheet1')
# 2. 检查是否有ShiftTime列,如果没有,需要添加这一列,例如如果时间是以字符串形式存储的
if 'ShiftTime' not in df.columns:
# 假设ShiftTime是上午8点到10点的一个小时内的时间
df['ShiftTime'] = df.apply(lambda row: '8:00 AM' if 0 <= (row['实际上班时间'] - 8 * 60) < 90 else '', axis=1)
# 3. 将 ShiftTime 转换为datetime格式
df['ShiftTime'] = pd.to_datetime(df['ShiftTime'])
# 4. 对Name进行排序
df.sort_values('Name', inplace=True)
# 5. 每三个人分组
grouped = df.groupby(pd.cut(df['ShiftTime'], bins=[pd.Timestamp('8:00 AM'), pd.Timestamp('9:30 AM'), pd.Timestamp('10:00 AM')], labels=['morning_1st_half', 'morning_2nd_half']))
for group_name, group_df in grouped:
print(f"时间段:{group_name}")
print(group_df[['Name', 'ShiftTime']])
# 这里你可以做进一步的操作,比如打印每个组的具体内容,或者保存为新的Excel文件等
阅读全文