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

2020-08-20 23:46:19 +08:00
 fishspecial

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

10031 次点击
所在节点    问与答
109 条回复
guoyida
2020-08-21 05:54:19 +08:00
可以用 powerbi 做,应该很快,图形化界面不涉及编程
binux
2020-08-21 05:54:56 +08:00
pocketmiddle
2020-08-21 07:19:37 +08:00
我不会 python 。但感觉这事不需要 py,vba 就能搞定了。
ShuoHui
2020-08-21 07:38:55 +08:00
jz 还是 wa 啊
cfwyy
2020-08-21 08:25:54 +08:00
只需要 统计 手机号条数就可以?
python 也不敢说是老手,我的基本思路是:
正则表达式 匹配出手机号,add 到集合 set 中,set 会自动去重;
单进程跑 19K 个文件太慢的话,可能还要用多进程来跑。
手上没有文件也不能测试,仅供参考。
huanghaozi
2020-08-21 08:33:28 +08:00
已经搞出整合的 Excel 的话,统计次数可以用数据透视表鸭(但不清楚这么多数据会不会卡死)
xinghen57
2020-08-21 08:44:46 +08:00
数据库吧,这数据量对 excel 太大了。
xinghen57
2020-08-21 08:51:54 +08:00
再提供个思路:
xlxs -> csv -> 合并 -> 去重
每个环节都有现成软件,百度一下就行
frdspro
2020-08-21 09:02:07 +08:00
感觉表格的格式很乱,并且表格里的内容也很乱,大大小小啥样的都有⁽˙³˙⁾
funcookies
2020-08-21 09:07:36 +08:00
感觉要的是现成的代码啊。话说楼主有啥进展吗,对运行时间,还有最终生成的数据有啥要求吗。还需要做吗。
swsh007
2020-08-21 09:08:09 +08:00
遍历一圈 2w 个文件,
然后写到 10 个文件里
去重 python 或者 db 都可以
估计有 2 天咋都完了
要是人工就太折腾
sadfQED2
2020-08-21 09:24:10 +08:00
Python 遍历所有文件所有行,通过正则把手机号匹配出来
sadfQED2
2020-08-21 09:24:59 +08:00
@sadfQED2 数据量大可以考虑存到 mysql,通过唯一索引去重
xingyuc
2020-08-21 09:31:58 +08:00
首先证明你这些内容不是用作黑产
nightv2
2020-08-21 09:51:48 +08:00
搜了一下 知乎有个文章“小工具--Excel 批量转 csv”,用 VBA 转换为文本后就有很多方法来处理了
reymond3
2020-08-21 10:03:46 +08:00
@xingyuc 我认为这句话很有道理
calmzhu
2020-08-21 10:09:36 +08:00
@xingyuc
@reymond3
除非表述有明显不合理之处,没必要使用有罪推定
xcheng
2020-08-21 10:11:44 +08:00
用 C#做过 EXCEL 数据遍历统计,你这个数据量有些多,提取后用数据库来处理会更方便(例如以后要统计其它数据)。
有需要可留个联系方式
winterbells
2020-08-21 10:13:58 +08:00
手机号读出来,每 1w 个分成一个文件
之后挨个文件内去重
再两两文件比对去重
之后合并或者直接加总数
efaun
2020-08-21 10:16:40 +08:00
@xingyuc #54
@reymond3 #56
我可能知道了大陆为什么有这么多假案冤案错案了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/700095

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX