java求一个历史数据的解决思路

qq1401962176 2018-05-31 08:26:52
再做一个人员管理系统,在历史数据的一些字段犯了难。就是籍贯的问题,首先正规化肯定是页面下拉框选省市区,数据库存对应代号,可是客户要求历史数据通过excel导入,数据又很错乱。比如籍贯有:济南、山东省济南、山东省济南市、山东济南。想问问有经验的事怎么处理在表中取到的是不规则的地名获取到相应的代号的。假设数据库已经有完整省市区代号对应地名。
...全文
1080 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tommy_12 2018-06-02
  • 打赏
  • 举报
回复
像这种我刚做过一个系统导数据的时候和你的需求差不多 只不过我不是要省市县,我只从地址中提取县, 给你个思路 ,先复制一张临时区域表,只保留省,从区域表中中获取省编码名称,其次区域表只保留市名,根据地址获取市编码名称,最后区域表只保留县,然后获取县编码名称,然后你区域表肯定省市县是有规律的,最后核对下。这样做虽然复杂了些 但是效果是有的。真是处理40000条数据经验。希望对你有帮助。
nayi_224 2018-05-31
  • 打赏
  • 举报
回复
吉林省,吉林省吉林市。填个吉林就没法判断了。更何况全国还有上千个市区,一一判断累死了。最简单粗暴的方法是将码表,或是映射后的码表给客户让他们直接填编码。交涉不通再考虑预处理吧。 记住,千万不要对甲方的智商有任何期待,他们什么事都做得出。
Mr.Java. 2018-05-31
  • 打赏
  • 举报
回复
对于每一条记录的该字段处理处理如下 第一步: 预处理, 基于有山东济南,济南山东的字段,必须将所有的“省”“市”关键字去掉, 例如广东省东莞市----》广东东莞 第二步: 创建 省名--编号 Map<key,value> 字典 创建 市名--编号 Map<key,value> 字典 第三步: 模式匹配,字符串替换,正则表达式 这些可以直接将 字段替换成代号,具体方法可以自己完成
聪头 2018-05-31
  • 打赏
  • 举报
回复
按最小地区名检索替换。对于重名的地名标注不替换,最后审核。
dong_19890208 2018-05-31
  • 打赏
  • 举报
回复
1、数据不一致导入前肯定要对数据进行处理,可以根据市的最简称去匹配,比如济南 只要名称里包含济南就可以确定是济南市,据此将名称处理成与数据字典中的一致 (也可以在导入程序中处理) 2、市的名称应该都是唯一的,可以将市的信息全部查出来再放到Map中,用市的名称作为key值,市的编号作为value值,后面逐行读取信息的时候就可以根据名称从Map中取到编号了

51,410

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧