alumnus system-前期数据处理

本文介绍了一种使用多种数据库工具和技术批量处理含有重复记录的大型Excel数据集的方法。具体包括使用VBA、MySQL、Access和SQL Server等工具进行数据清洗、转换和导入的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

老师给的数据是一个有4万条数据的excel表格,记录了学生的信息.在这个到处流行hold住得今天,真的让我hold不住啦,主要是,一个学生的记录可能有多条,最终的目的是什么呢?最终的目的就是把重复的去掉,以name和college为共同查询条件,一样的认为是同一个同学这样分开来.而且,多条记录的信息在去除后,剩下的应该是信息最多的,也就是说,多条重复信息的内容是相加的关系.我晕,我觉得说的有点乱,总之我懂了...

以为这些都比较容易,但是面对4万多条数据,有点麻烦,处理来处理去的,怎么个处理法呢...

一: 开始,想在excel中写个VBA,但是求爷爷告奶奶的,都不行,因为,在强大的excel面前,我实在是太渺小了...

二: 后来想到用mysql,因为用mysql处理数据或者是用java连接mysql然后进行操作也是比较熟悉的.在这种思想的指导下,俺先是在excel中加上了一个id字段,然后再在mysql中建好表,当然字段对应是一样的,之后把excel表中的数据导入到mysql中,这个方法不错,我要提一下(这是当年小龙问我怎么导入的时候,俺查出来的),步骤如下:

1: 打开excel,以以下格式另存一下:

2: 存好txt文件后剩下的就是mysq的操作了:

首先要新建表,我的如下:

CREATE TABLE `alumnus` ( `id` int(11) NOT NULL, `name` varchar(32) DEFAULT NULL, `gender` varchar(32) DEFAULT NULL, `workaddress` varchar(32) DEFAULT NULL, `workzipcode` varchar(32) DEFAULT NULL, `workphone` varchar(32) DEFAULT NULL, `workfax` varchar(32) DEFAULT NULL, `workkind` varchar(32) DEFAULT NULL, `lastname` varchar(32) DEFAULT NULL, `firstname` varchar(32) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=UTF8;


然后就是导入txt中的数据:

load data local infile 'D:\data.txt' into table alumnus fields terminated by '\t';


3: 这样,一个excel中的数据就导入到了mysql中,哈哈,简单,方便…

三: 虽然上面的方法好像可行了,但是在公司的电脑上总是出错,而且还是乱码的错误,总是总是总是调不通,还出现什么瑞典语,我勒个去...我这么咂摸着,应该是公司电脑eclipse的编码问题,或者是数据库的问题,没有办法,我只好回来做…利用上面的方法虽然成功导入了,但是还是不行…

四: 终于终于到了今天,我拿着自己的电脑,突然想到另一个办法,就是把excel中的数据放到access,然后再转到sqlserver,然后再导入mysql,哈哈,这样做的目的,一个是显摆一下俺装的软件多,一个是想想这样应该跨度不是太大,编码应该还可以.首先在access中把name是空的去掉,也算是处理了一步,之后就是导入到sqlserver中,下面说一下步骤:

1: 首先,因为用的sqlserver2000,所以将access数据库村成了2000版本的,大版本不行不行的,我试了,真是的…

2:打开sqlserver 2000,选择数据库,执行如下操作:

点下一步,数据源选择Microsoft Access,下面选择上access文件:

点击下一步:

之后都是点击下一步下一步,最后完成.

3: 接下来就是将sqlserver导出到mysql:

(俺本地上装了mysql和sqlserver,所以按照下面的配置搞的)

选择导出数据:

点击下一步后,选择数据源,注意下面选中哪个数据库:

点击下一步,选择目的:MySQL ODBC 5.1 Driver:

然后点击”新建”,在弹出的对话框中选择"系统数据源":

点下一步,选择MySQL ODBC 5.1 Driver:

点下一步,填写mysql的配置:

,

可以点击Test判断是否连接成功.连接成功的话,确定后会出来如下内容:

之后点击下一步:

这里要注意的是,一般数据直接下一步就行了,但是我这里出现的问题是因为没有转换类型,如果you的也是这样,请点击转换下面的小框框,将字段的数据类型改了,点击后有如下:

我之前报错,后来将tinytext类型改为varchar类型的就没有错了,嘻嘻~

之后就下一步下一步好了,最后倒入成功了,看看mysql里面的数据,哇,还真的有了呢,哈哈!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值