V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
fishspecial
V2EX  ›  问与答

卑微民警在线求助使用 Python 的 excel 数据分析

  •  6
     
  •   fishspecial · 2020-08-20 23:46:19 +08:00 via iPhone · 10497 次点击
    这是一个创建于 1582 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在邻市的乡镇派出所基层锻炼期间,手上有一个关于侵犯公民个人信息的案子,取证出来的数据大概有 19k 左右个 excel 文件,要对其进行清洗去重得出有多少条个人信息(按 excel 行数计),但是导出的文件名、excel 行列都没有统一格式。但是只有 sheet1 有数据,并且需要统计其中的手机号的条数就可以。最主要的是要对最后的结果进行去重,一个手机号出现多次也只能算一次。
    太久没用 py,粗略的拉稀代码跑跑了一下,最后结果有一亿多条,这是在对文件去重(因为是从后台拖出来的数据,有的时候一个文件保存了多次,通过 md5 去重了)情况下得出来的。但是没有对手机号来进行总的去重。条数涉及证据严谨和对犯人的量刑,本来所里是打算一个半月发动全所之力来复制粘贴的,我心里觉得这真的是对警力资源的浪费。现在想来求助大家给点小民警可以 ctrl c/v 的代码来尽量解决这个问题。
    //没有钱。可能仅有的好处就是有点打击黑产的光荣感? 有 v 友对体制和公考感兴趣的,也可在下面留言,我也会知无不言。
    谢谢大家! dJRx2Q.png dJf6k6.png dJf5nA.png dJfHtf.png

    第 1 条附言  ·  2020-08-21 00:38:27 +08:00

    谢谢大家的回答!加班到现在的小弟心里充满感激。v友很多回答都很实用,基本的代码还能看懂,但代码的实现实在力不从心了。如果有v友能提点一些关键代码,感激不尽! 所长说假如相关脚本写成功之后,要保存在所里以后继续使用。能帮到的老哥可以把自己的id写到注释里的author 里,这样湖北某个派出所里可能每个到这里工作的人都得用着你的脚本并且看到脚本作者,也算有一点点的荣誉感吧?当然也可能没有…至少可以跟别人吹吹水了。

    第 2 条附言  ·  2020-08-21 12:40:24 +08:00
    一晚过去,有这么多 v 友帮忙,甚至有老哥在我以往发的交易帖中找到了我的小绿来特地帮助我处理数据。
    这种感觉,跟今年年初在武汉留守时经历的许多感动一样。
    因为白天工作太忙,只有晚上下班的时候才有空回复各位 v 友希望见谅!
    这里回答一下回答 v 友的几个疑问:
    - 为什么不用数据库来做?
    所里除了我之外,没有人有相关经验,只会使用公安系统软件和基本的文档操作,而我也早就将这些知识还给了我的大学老师,实在自惭形秽。之前遇到数量级在万的时候,都是所长带着几个辅警人工统计复制粘贴,但这次的数据实在超出人力范围。
    - 楼主是不是黑产?帮忙的各位需不需要负法律责任?
    不是,没有。(技术像我这么差的黑产还是坠楼谢罪吧。)脚本完成的时候我会拍穿警服跑脚本的照片,并且鸣谢各位可爱的 v 友
    - 为什么不找外包
    因为没有这种支出,花钱有理,所以没法办到。公私分明,这也不是每次自己掏钱可以解决的事情。
    - 为什么我某某时候求助了某某警察,结果不了了之?
    很多道理我这里就不说了,只能建议你认真看看相关的法律不至于被老民警忽悠,然后去找那些年轻的正式民警,他们都有一腔热血,并且由正规警校考进来的,绝大多数愿意为你尽力解决,也更好跟他们沟通。
    有一个让我很不舒服的留言,但是我发现 v2 无法删除别人的留言,只能在这里说明,要无端的引战抱怨,滚到外面抱怨,这里友好的环境不欢迎你,我也不欢迎你。
    109 条回复    2020-08-22 08:30:11 +08:00
    1  2  
    meiya6duxh
        101
    meiya6duxh  
       2020-08-21 20:24:38 +08:00
    免费提供处理数据的程序以及后续需求
    meiya6duxh
        102
    meiya6duxh  
       2020-08-21 20:27:09 +08:00
    对了,数据安全方面,只需要提供表头,或者不提供也行,我会做一些异常处理,你反馈一下处理效果,我再帮你修改该程序直至达到你想要的效果!真心提供帮助
    kingwkb
        103
    kingwkb  
       2020-08-21 20:38:52 +08:00
    数量多少有人会查么? 你预估个数量不就完了
    funcookies
        104
    funcookies  
       2020-08-21 20:42:43 +08:00 via iPhone
    @kingwkb 这还能预估?虽然嫌疑人可恨,但是执法也不能这么随意吧。万一超速了,难道交警说预估车速 180,你心里啥感受。
    saulshao
        105
    saulshao  
       2020-08-21 20:46:48 +08:00
    这个解决方案大概如下:
    python 有一个包叫做 openpyxl.
    这个包只需要知道 excel 文件的路径,然后打开就行了,有很多示例代码。
    每次打开一个文件,读取需要的数据,将手机号写到一个数据库表里头,最后统计这个表的总行数就成。还有个办法是将手机号写到文本文件里以防止内存溢出。
    saulshao
        106
    saulshao  
       2020-08-21 20:48:13 +08:00
    人工干这事根本不可靠,你要是发现有个号码重复了,你怎么知道是来自哪个文件?谁干错的?谁的工作应该重新干?
    meiya6duxh
        107
    meiya6duxh  
       2020-08-21 22:16:27 +08:00
    我们是专门服务公安行业的企业,有类似的需求的免费解决方案,可以加一下我微信
    Thanatos-XH
    NOspy
        108
    NOspy  
       2020-08-22 00:26:59 +08:00
    我有个蠢办法,如果你可以遍历这一万九千个文件且数据格式一致的话,可以电脑本机运行个 mysql,然后遍历读取 excel 数据,向 mysql 插入,mysql 建表时将手机号设置成唯一约束,这样插入重复数据就会失败。放那儿不管让它运行完以后,sql 语句 count 一下总数就有了。
    nl101531
        109
    nl101531  
       2020-08-22 08:30:11 +08:00 via iPhone
    免费帮处理,以及后续维护。

    微信 mrdear-cn
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5511 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 01:46 · PVG 09:46 · LAX 17:46 · JFK 20:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.