2011-04-27 12:00:24|  分类: 默认分类 |字号 订阅

 
 

网上有很多文本分割软件都是按字节大小来分割的,主要用于小说类的文本分割,对于比较有规则的内容按行数进行分割非常不方便,所以我写了一个按行数把文本文件分割成多个文本文件

主要作用:比如您获取上万个长尾关键词,你想通过随机的方式调用100条或者50条。假如是只有一个文本文件(上万行),你需要读取该文件所有行到数组,然后打乱数组,读取前50条,效率非常低。

而你把该文本文件用分割器分割成1.txt  2.txt…… 100.txt(随机打乱了行数),那么你只要先随机从1-100中产生一个随机数

然后读取该随机数文本(比如55对应 55.txt),是不是效率很高呀。

<?php  
 // txt按行无序分割器    
$fileName = "1.txt"; //源TXT文件   
$start=1;     //分割TXT初始值   
$num=10;     //每个TXT多少行   
$content = file_get_contents($fileName);   
//$content =iconv("UTF-8", "gb2312//IGNORE",$content);    //如果原TXT为UTF-8编码,请取消注释   
$contents = explode("\r\n",$content);   
shuffle($contents);   //打乱顺序   
$countcount = count($contents);    
echo  $count;   
$newcontents='';   
$j=0;   
for($i=0;$i<$count;$i++){    
$newcontents.=$contents[$i]."\r\n";   
if ((($i % $num==0) && $i<>0) || ($i==$count-1) )   
    {   
  
$handle=fopen("txt/".($start+$j).".txt",'w');    
 fwrite($handle,$newcontents);    
 fclose($handle);   
    $j++;   
    $newcontents='';   
    }   
}   
?>

如何把一个TXT文本文件按行数分割成多个文本文件的更多相关文章

  1. python统计一个文本中重复行数的方法

    python统计一个文本中重复行数的方法 这篇文章主要介绍了python统计一个文本中重复行数的方法,涉及针对Python中dict对象的使用及相关本文的操作,具有一定的借鉴价值,需要的朋友可以参考下 ...

  2. js实现把textarea通过换行或者回车把多行数字分割成数组,并且去掉数组中空的值。

    删除数组指定的某个元素 var msg = " ";  //textarea  文本框输入的内容 var emp = [ ];   //定义一个数组,用来存msg分割好的内容 1. ...

  3. [C#]统计文本文件txt中的行数(快速读取)

    快速统计文本文件中的行数( StreamReader.ReadLine() ): 测试代码如下: //读取txt文件中总行数的方法 public static int requestMethod(St ...

  4. linux 文本文件显示行数

    一般的我们在使用linux编辑器编辑文本文件的时候是不会像其他编程软件一样显示行数 临时方法: 在命令模式下输入:set nu或者:set number都可以为vi设置行号,如果要取消的话,则输入:s ...

  5. linux显示文本文件指定行数的数据

    sed -n '2,4p' /core/home_info.txt 显示这个txt的2-4行,此外还有 cat /core/home_info.txt |   tail -n 1000:显示最后100 ...

  6. 按照行数分割excel

    本来是想通过NOPI自己编写个小工具分割excel的,但是不想去研究API,就百度了一下,找了很久,有几个软件说是为了这个功能而生,实际上要么不能使用,要么出错,所以暂时没有公开可用的软件. 然后我就 ...

  7. python 统计文本文件的行数

    num_lines = sum(1 for line in open(input_file_name))

  8. 获取一个gridcontrol的数据行数

    ((DataTable)gc_excel.DataSource).Rows.Count;

  9. Shell 统计文件的行数

    目录 统计文件的行数 题目 题解-awk 题解-wc 题解sed 统计文件的行数 题目 写一个 bash脚本以输出一个文本文件 nowcoder.txt中的行数 示例: 假设 nowcoder.txt ...

随机推荐

  1. 第三十九节,python内置全局变量

    vars()查看内置全局变量 以字典方式返回内置全局变量 #!/usr/bin/env python # -*- coding:utf8 -*- print(vars()) #输出 # {'__bui ...

  2. Hadoop中的一些基本操作

    先粗略说一下“hadoop fs”和“hadoop dfs”的区别:fs是各比较抽象的层面,在分布式环境中,fs就是dfs,但在本地环境中,fs是local file system,这个时候dfs不可 ...

  3. hdu_1254_推箱子(双BFS)

    题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1254 题解:以箱子为主体,第一层BFS,然后用第二层BFS来判断人是否可以到达,这里细节比较多,要注意 ...

  4. openwrt uci

    UCI: Unified Configuration Interface 通用配置接口,主要用于集中控制openwrt的配置文件. 1.uci使用的配置文件一般放置在设备上的/etc/config目录 ...

  5. contact form

    use the existing service: http://www.foxyform.com/

  6. AngularJs多重视图和路由的使用

    使用AngularJs来做多重视图和路由是在方便不过了,在开发过程中,都有许多的页面,而这些页面都有相同的部分,比如页面的头部和尾部通常都是一样的,变化的都是主体部分,还有就是一些后端管理的一些项目, ...

  7. 读苹果开发文档时遇到瓶颈,转而花2天看了Objc基本语法

    根据这篇博客中列出的文章开始看Objc基本语法: http://blog.hellolucky.info/articles/ios-beginner-ios-development/ 看完以后,明白多 ...

  8. process lasso 优化原理

    <星际争霸2:虚空之遗>很多玩家的CPU性能并不低,但是在星际2中的表现就总会出现掉帧的情况,那么应该如何提升CPU的性能就成了玩家关注的话题,下面小编就为大家带来星际争霸2虚空之遗cpu ...

  9. Linux中nmon的安装与使用【转】

      一.下载nmon. 根据CPU的类型选择下载相应的版本:http://nmon.sourceforge.net/pmwiki.php?n=Site.Downloadwget http://sour ...

  10. 不同版本的Api控件显示可能不同

    同样的一个布局, compileSdkVersion 24(android7.0)和 compileSdkVersion 18(android4.3)得到的结果可能不一样: <FrameLayo ...