TiAmo665 2024-06-19 11:03 采纳率: 91.7%
浏览 3
已结题

Excel人员出入境核查

Excel表格中,H列表示入境或者出境,M列表示出入境时间,D列表示出入境人员姓名。没名人员有多条出入境记录且数量不相等。如何筛查出入境25-28天同时出境3-5天,不断循环的人员名单。

  • 写回答

1条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-19 11:03
    关注

    引自免费微信小程序:皆我百晓生

    为了解决这个问题,我们可以使用pandas库来处理Excel文件,并对数据进行筛选。下面是一个详细的步骤和代码示例,用于找出符合特定条件的人员名单:

    1. 首先,确保已经安装了pandasopenpyxl库。如果没有安装,可以使用以下命令安装:

      pip install pandas openpyxl
      
    2. 读取Excel文件到pandas DataFrame。

    3. 将时间列转换为日期时间格式。

    4. 计算每个人的出入境间隔。

    5. 筛选出符合条件的人员。

    下面是具体的Python代码实现:

    import pandas as pd
    
    # 读取Excel文件
    df = pd.read_excel('path_to_your_file.xlsx', engine='openpyxl')
    
    # 假设列名分别为'H'(出入境类型),'M'(时间),'D'(人员姓名)
    # 将时间列转换为日期时间格式
    df['M'] = pd.to_datetime(df['M'])
    
    # 对每个人员分组并计算连续出入境的时间差
    grouped = df.groupby('D')
    time_diffs = grouped['M'].diff().dt.days
    
    # 创建一个新的DataFrame来存储每个人员的连续出入境时间差
    diff_df = pd.DataFrame()
    for name, group in grouped:
        # 筛选出连续出入境的时间差
        continuous_diffs = group['M'].diff().dt.days.fillna(0)
        diff_df = diff_df.append(pd.DataFrame({
            'D': [name] * len(continuous_diffs),
            'TimeDiff': continuous_diffs
        }))
    
    # 筛选符合特定条件的人员:出入境25-28天后再次入境,然后3-5天后再次出境
    filtered = diff_df[(diff_df['TimeDiff'].shift(-1) >= 25) & (diff_df['TimeDiff'].shift(-1) <= 28) &
                       (diff_df['TimeDiff'] >= 3) & (diff_df['TimeDiff'] <= 5)]
    
    # 找出符合条件的人员名单
    target_persons = filtered['D'].unique()
    
    print("符合条件的人员名单:")
    print(target_persons)
    

    这段代码首先读取Excel文件,然后对每个人员的出入境时间进行分组和计算时间差。接下来,它会筛选出符合条件的连续出入境时间差,最后找出满足条件的所有人员名单。

    请将path_to_your_file.xlsx替换为实际的文件路径,并根据实际情况调整列名。执行上述代码后,你将得到符合条件的人员名单。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 8月13日
  • 已采纳回答 8月5日
  • 创建了问题 6月19日

悬赏问题

  • ¥15 35114 SVAC视频验签的问题
  • ¥15 impedancepy
  • ¥15 在虚拟机环境下完成以下,要求截图!
  • ¥15 求往届大挑得奖作品(ppt…)
  • ¥15 如何在vue.config.js中读取到public文件夹下window.APP_CONFIG.API_BASE_URL的值
  • ¥50 浦育平台scratch图形化编程
  • ¥20 求这个的原理图 只要原理图
  • ¥15 vue2项目中,如何配置环境,可以在打完包之后修改请求的服务器地址
  • ¥20 微信的店铺小程序如何修改背景图
  • ¥15 UE5.1局部变量对蓝图不可见