ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

实习1

2022-08-13 11:00:08  阅读:172  来源: 互联网

标签:test1 test2 账号 excel 导入 实习 数据


需求:

表A:含有字段:,数据28152条

 表B含有字段:问题账号,数据124条

目的是筛选出问题账号所包含的系统名称,地市,账号,姓名,身份证,是否实名。

 

方法一:excel vlookup函数解决

(1)找到关联信息

将账号信息A放在sheet1表A,B,C,D,E,F列,问题账号放置sheet2 A列

 #N/A表示结果为空,即账号lujd15不在问题账号里面

 将错误值设置为0,方便后续删除。

(2)筛选出问题账号(备份原数据)

选中G列,ctrl+F查找,查找值为0,选项里面单元格匹配,查找全部,然后点击下面的任意一行值,ctrl+A选中所有值为0的。右键-->删除整行

(3)去除重复值

选择数据-->重复项-->删除重复项-->按照账号,姓名,身份证作为重复值标准进行删除。

参考:https://jingyan.baidu.com/article/363872ec00d6156e4ba16fb4.html

 

方法二:mysql解决

工作环境是workbench,难点在于excel含中文字段和中文数据的情况下,如何进行处理:

(1)出现的问题

网上各种解决办法,尝试了几个,都出现了问题,就是在导入表格数据中如果选择创建新表,

可能出现gbk不能解码utf-8格式的数据,使用txt和Notepad++解决了编码问题,但是只能导入表头,没有数据,类似这种情况

 

再一次尝试,再导入时修改字段类型:

 身份证因为有输错成类似H57435,以及最后一位含有X的,使用text类型,结果如下:

 我滴孩,导了10分钟,导出0条数据,后续有解决办法在总结

下面的含有中文表头和数据的可以导入,上面的不可以,我丢?

 这个同样可以:

 

(2)退而求其次的方法

导入表格数据时不选择创建新表,而是使用已有的表,所以首先要根据要导入的字段类型,设置一模一样的表格表头类型,然后在创建时匹配对应的字段(字段名称可以不一样,中文一般没问题,中文出错了,可以把中文表头改成英文尝试),导入即可

注意:导入前需要将excel数据变为csv格式,编码使用excel默认的gbk就导入成功了

 SELECT count(*) FROM test1; 结果为24160 可能自动去除重复值了

SELECT count(*) FROM test2;结果为138

然后

SELECT * FROM test1
where 账号 in
(select 问题账号 from test2)

共122条结果

 

方法三:python解决

import pandas as pd

test1 = pd.read_excel('源数据.xlsx')
data1 = test1['账号']

test2 = pd.read_excel('gonghao.xlsx')
data2 = test2['工号']

test1即A表,test2即B表,data1为A表下的账号列,data2为B表下的工号列

 

 一共在test1中检索到144条问题账号:

 因为账号,一般是唯一属性,按照账号和地市进行去重,共筛选132条数据:

 同一账号,可能在不同地区工作过,所以只按照账号去重如下,共筛选122条数据:

 或者只按照身份证号进行去重:

 

最终结果为122条,over

 不使用函数,使用循环编写,但是问题在哪里,艹

 

 不搞了,over!

 

参考:

https://blog.csdn.net/weixin_45914452/article/details/120585861

https://blog.csdn.net/choumin/article/details/89518400

 

标签:test1,test2,账号,excel,导入,实习,数据
来源: https://www.cnblogs.com/djbwxh/p/16574844.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有