python如何处理txt文件得到指定字符串出现的次数_批处理如何统计txt文本每行字符串出现的次数? - BAT求助&讨论 - 批处理之家 批处理_BAT脚本_PowerShell_VBS_CMD...

你的数据很有意思:

1 行数比较大,1000多万行,但每行并不长。直接用powershell命令来处理,比较费内存,我用16g内存也非常卡,但貌似有人有64也不128内存来着。有空我找他算算。

2 昨我用powershell手写了个占内存不太大的,占用内存不到2g,但是占用cpu比较多,测试的时候还有问题,就不发了。

3 我又写了个通用的文档切割脚本,把文档变小,50万行,powershell,或者excel就容易处理了。等下发上来。

4 我早说过,这类问题最好,最快就是用数据库。关系型数据库虽说大家都喊太慢,不如nosql。但玩这个还是很快的,我是指查询。

数据库玩这个,是一种以空间换时间的做法,做好了索引,就不用像脚本那样,每次都统计一遍数量了。

这不,我做好了sqlite的数据库,作的时候慢,尤其是索引,但关键是用索引,索引就是排序+数量统计,有了它,亿万数据瞬间直达,这不,

我下述的查询代码,基本上都2---3秒完成。

而且后续你又有了新的数据,可以继续往数据库中导入,插入,然后重新查询,也会很快。因为有了索引,基本上都2---3秒完成。

所以说,根本就不应该用脚本统计,就应该用数据库。你的问题用数据库解决才是完美的。

-------------------------用 sqlite 玩转你的问题 --------------------------------------------

压缩包=138MB

下载地址

http://pan.baidu.com/s/1bny7znL

用法:

1 安装Navicat_for_SQLite_11.0.10_XiaZaiBa.exe

2 打开数据库 wordcount ,右击main,选sql命令,输入查询语句。

表名=wordcount001

字段名=myword

查询某个单词‘A’,数量语句:

select count(myword) from wordcount001 where myword='A';

myword 所有行去重

SELECT DISTINCT myword  from wordcount001 ;

输出2列,第一列单词名,第二列单词个数,单词个数最多的在上面。 ---这就是你要的

SELECT  myword,count(myword) as chongfushu   from wordcount001 group by myword order by chongfushu desc;

这个文档中小写的a最多,达到了513340个。这个结果对了么?

------------------------------------------------------------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值