数据清洗中遇到的问题
2011-02-28 09:57
369 查看
替换一列中的所有数据。
例如,这一列的数据为钱的大写表示,要将大写表示转换成数字,用来计算总值。但是,由于这列数据都是用户手填写的,所以格式比较杂乱,有“一千”、“壹仟”、“壹仟元”、“壹仟元整”、“1000元整”等等写法。考虑和实现方式如下:
1、创建一个数据库函数用来格式化这些数据,然后将结果更新到这一列。但是,完成过程中发现,由于数据格式比较复杂和对sql语法不熟悉,实现起来非常复杂。
2、将数据读出来,用java格式化这些数据,并且将格式化好的数据更新到数据库。实现过程中发现,首先面对问题域中存在的可能性太多,需要针对每种可能性出一种方案,并且不能确定方案是否完备。其次,就算方案完备,也不能直接就更新,因为这只是猜测,必须经过人工确定,才能完成更新。如果这样,时间花费就会比较多,有可能出现程序时间比直接修改数据长的问题。
所以针对这种问题,以后需要注意事项:
1、需要数据清洗时,如果数据量比较小(<1000条),则使用手动的方式进行清洗。
2、如果使用程序自动清洗,一定要经过用户确认这个环节。
3、程序中数据清洗条件,一定要是充分必要条件。
例如,这一列的数据为钱的大写表示,要将大写表示转换成数字,用来计算总值。但是,由于这列数据都是用户手填写的,所以格式比较杂乱,有“一千”、“壹仟”、“壹仟元”、“壹仟元整”、“1000元整”等等写法。考虑和实现方式如下:
1、创建一个数据库函数用来格式化这些数据,然后将结果更新到这一列。但是,完成过程中发现,由于数据格式比较复杂和对sql语法不熟悉,实现起来非常复杂。
2、将数据读出来,用java格式化这些数据,并且将格式化好的数据更新到数据库。实现过程中发现,首先面对问题域中存在的可能性太多,需要针对每种可能性出一种方案,并且不能确定方案是否完备。其次,就算方案完备,也不能直接就更新,因为这只是猜测,必须经过人工确定,才能完成更新。如果这样,时间花费就会比较多,有可能出现程序时间比直接修改数据长的问题。
所以针对这种问题,以后需要注意事项:
1、需要数据清洗时,如果数据量比较小(<1000条),则使用手动的方式进行清洗。
2、如果使用程序自动清洗,一定要经过用户确认这个环节。
3、程序中数据清洗条件,一定要是充分必要条件。
相关文章推荐
- Android客户端页面提交数据到tomcat的servlet插入mysql中的信息表遇到的中文乱码问题
- 使用反射为泛型集合添加其他类型的数据时遇到的问题
- 今天遇到的jquery $.ajax()取xml数据的小问题
- C#导入数据到Excel中遇到的问题,已解决
- 2014.4.27 android http数据传输遇到的问题
- HttpWebRequest抓数据遇到的问题
- python脚本下载并解码MNIST数据遇到的问题
- 开发时遇到使用LINQ无法进行数据插入时的问题
- 昨天写支付接口时遇到支付接口返回数据接收地址,session数据丢失(或者说失效)的问题
- sybase数据恢复过程中遇到的问题
- Mybatis向数据库增加数据时遇到的一些问题
- 遇到问题---MongoDB---配置多数据源报错expected single matching bean but found 2
- 遇到的问题-----------perl脚本用handlersocket把数据插入mysql执行时报错lock_tables
- 关于分页插件pagination的应用及遇到的问题(用ajax请求数据进行拼接后分页显示)
- 今天在csdn上遇到一个问题,是关于sql数据行列转换的,我的写法如下:
- ES-MongoDB学习1_elasticsearch与mongodb分布式集群环境下数据同步以及遇到的相应问题解答
- 程式开发中导出数据到EXCEL中遇到的一个问题小解
- 错误笔记:JDBC向oracle数据库中插入数据遇到线程阻塞问题
- 用Vue.js往前端填充数据时遇到的问题
- Android请求网络数据,json解析-FastJson遇到的问题 首字母大写问题