对动态网站收集的注册信息进行处理

这篇blog是接着上篇 第一个动态网站的心得–细数建站跳过的坑! 写的,主要是对网站的云服务器上的access数据库导出来的数据进行处理加工。

数据类型和内容

access数据库userinfo的info表格下,一共有以下六个字段:

  • number : 序列号; 自动编号;主键
  • id: 学号;短文本;不为空
  • name: 姓名;短文本;不为空
  • mail: 电子邮箱;短文本;不为空
  • cluster: 专业大类;短文本;不为空
  • isForeign: 是否为国际生;短文本;不为空

百团大战当天线下记录表格usernumber,记录所有线下交过钱、进行过验证的注册社员的序列号:

  • number: 序列号;数字(现场随机记录,不能选自动编号;更不能选短文本);主键

数据处理要求

1. 提取所有现场验证过的、交过社费的社员信息

提取现场注册验证过的序列号的表格usernumber中,每个序列号对应的数据:1、把注册信息表info和序列号验证表进行合并,利用两表都有number字段,查询所有usernumber中number值对应的info的记录。2、把查询结果生成新表submitted,对新表进行二次处理,改正填写错误的邮箱格式,批量添加邮箱后缀(@xxxx.xxx ),发注册成功邮件。

2. 提取所有线上提交过注册信息,但现场未验证过、交过社费的社员信息

利用上面查询生成的表submitted,进行第二次查询,查询userinfo表里有的但submitted表里没有的记录,生成新表unsure,因为怕注册人忘记序列号,我设置了允许最多三次提交,所以unsure表格里会包含有已验证过的会员的信息和未验证会员的重复信息。所以要进行二次过滤。第一次,先合并submitted表和unsure表,利用id字段,查询出两表重复的记录记为sameID表,即为unsure表需要删除的记录,然后通过查询unsure表里有但sameID表没有的记录,得到不包含已验证会员信息的表unsubmitted。第二次,对unsubmitted表再加工,删除重复id、重复姓名的记录,得到我们最后需要的信息,给所有未验证的注册者发邮件提醒缴纳社费。

数据处理步骤

1. 提取所有现场验证过的、交过社费的社员信息:
  • 打开access,导入info表和excel格式的usernumber表(步骤可看:利用Access查询两个表中相同字段的方法

  • 合并两表:”创建“ —>”查询设计“—>info表和usernumber表都点—>空白处右键—>“SQL特定查询”—>“联合”—>填写SQL代码:

    SELECT info.*
    FROM info INNER JOIN usernumber ON usernumber.number = info.number
  • 生成具有所有验证过的社员信息的新表submitted,导出新表:打开“查询1”(之前查询的默认名)—>“外部数据”—>导出选”Excel“

  • 改正填写错误的邮箱格式,批量添加邮箱后缀(如:@163.com ):因为写错邮箱格式的人不多,但是写错的格式也是千奇百怪,我就没写代码,而是手动改,大概也就十几个吧。但是邮箱后缀是批量添加的,这里有个动图,生动展示了应该如何快速批量添加数值:(操作可看:Excel里面要统一加入同一字段该怎么操作?
    这里写图片描述

2. 提取所有线上提交过注册信息,但现场未验证过、交过社费的社员信息:
  • 导入submitted表,像上面一样合并两表,再进行查询。不过这次查询的是userunfo表里有,但是submitted表里没有的记录,所以代码如下,导出表unsure (参考:access如何筛选两表相同字段中的不同数据):

    SELECT info.*
    FROM info LEFT JOIN submitted ON info.number = submitted.number
    WHERE (((info.number) Is Not Null) AND ((submitted.number) Is Null)); 
  • 第一次过滤,先合并submitted表和unsure表,利用id字段,查询出两表重复的记录记为sameID表,即为unsure表需要删除的记录,代码类似上面。然后通过查询unsure表里有但sameID表没有的记录,得到不包含已验证会员信息的表unsubmitted。

  • 第二次过滤,对unsubmitted表再加工,删除重复id、重复姓名的记录,得到我们最后需要的信息:这里有两个快速删除有重复记录的方法(参考:excel中如何删除有部分重复字段的记录):

    1. 使用高级筛选:
      1、选中相关记录(连续选中的矩形区域有效);
      2、在数据功能区,排序与筛选中的“高级”按钮;
      3、在弹出的“高级筛选”对话框中,选择筛选结果的显示方式,建议为第二种(保留原始数据);
      这里写图片描述

    2. 使用删除重复项工具:
      Excel2007及以后版本中增加了一个“删除重复项”按钮,用它来删除重复记录更加容易。步骤如下:
      1、选中相关记录(连续选中的矩形区域有效);
      2、在数据功能区,单击数据工具中的“删除重复项”按钮;
      3、在弹出的“删除重复项”对话框中,选择要查重的字段,即可。
      这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值