精华内容
下载资源
问答
  • 统计文本中单词数

    2013-11-28 14:57:10
    /////////统计文本中单词数(以 空格 和 回车 分隔)/////////////// int CountWords(char* filename) { int ret=0; ifstream fin(filename); if (!fin) { cout打开文件失败!"; return 0; } string one...
    /统计文本中单词数(以 空格 和 回车 分隔)///
    int CountWords(char* filename)
    {
    	int ret=0;	
    	ifstream fin(filename);
    	if (!fin)
    	{
    		cout<<"打开文件失败!"<<endl;
    		return 0;
    	}
    	string oneline;
    	string word;
    	while(!fin.eof())
    	{
    		char buf[256]={0};
    		getline(fin,oneline);//读取一行字符
    		istringstream iss(oneline);//构建iss
    		while(!iss.eof())
    		{
    			iss>>word;
    			//cout<<word<<endl;
    			ret++;
    		}
    	}
    	return ret;
    }
    
    int main()
    {	
    	cout<<CountWords("words.txt");
    	return 0;
    }

    展开全文
  • Linux 统计文本单词数

    千次阅读 2016-09-07 17:30:59
    [root@localhost huangbiao]# wc  32 54 1465 上面三个值分别是 1、文本的行数 2、文本单词数 3、文本的字节数

    [root@localhost huangbiao]# wc < /etc/passwd

      32 54 1465

    上面三个值分别是

    1、文本的行数

    2、文本的单词数

    3、文本的字节数

    展开全文
  • 题目描述:打开一个英文文本文件,假设文本文件单词之间全部用“空格”隔开,文本各段之间用“回车符”分开,统计输出文本的段数量,总单词数量,以及文本段的最长、最短、平均单词数量。 test.txt 文本内容:随便...

    题目描述:打开一个英文文本文件,假设文本文件单词之间全部用“空格”隔开,文本各段之间用“回车符”分开,统计输出文本的段数量,总单词数量,以及文本段的最长、最短、平均单词数量。

     test.txt 文本内容:随便百度的内容文本内容

     C语言代码:

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>

    #define MAX_LINE 1024

    void main(){
        //duanluo 表示段落数,words表示某一段的单词数
        int duanluo = 0, words = 0;
        //min表示最小段落的单词数,max:最大段落的单词数,sum:单词总数
        int min = 65525, ave = 0, max = 0,sum = 0;
        FILE* fp;        //文件指针
        
        char buffer[MAX_LINE] ;        //缓冲区
        int len ;    //行字符个数
        int i;
        fp = fopen("test.txt","r");
        if(fp == NULL){
            printf("cannot open file!");
            exit(0);
        }
        //读取文件内容
        while(! feof(fp)){
            
            // fgets() 在读出 MAX_LINE 个字符之前,遇到 换行符 或 EOF 则读出结束
            if(fgets(buffer, MAX_LINE, fp) != NULL){
                duanluo ++;
                len = strlen(buffer);
                //遇到第一个空格之前已有一个单词
                words = 1;
                sum ++;
                //len - 1 是为了去掉换行符所占位置
                for(i = 0; i < len - 1; i++){
                    if(buffer[i] == ' '){
                        words ++;
                        sum ++;
                    }
                }
            }
            
            if(min > words){
                min = words;
            }
            if(max < words){
                max = words;
            }
            
        }

        fclose(fp);
        ave = sum / duanluo;
        //输出
        printf("\n\t 总单词数为 %d \n \n",sum);
        printf("\t 最小段落单词数为 %d \n \n",min);
        printf("\t 最大段落单词数为 %d \n \n",max);
        printf("\t 总段落数为 %d \n \n",duanluo);
        printf("\t 段落平均单词数为 %d \n",ave);

    }

    运行结果:

     结果

    展开全文
  • 给定一段文本统计其中总单词数并输出各个单词及其出现次数,该程序能成功运行。
  • 主要介绍了python统计文本中单词出现频率,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • mapreduce实例--统计文本中单词数

    千次阅读 2018-06-05 16:10:10
    mapreduce实例–统计文本中单词数 一:环境描述: hadoop2.8.1 文件上传至hdfs,程序从hdfs读取计算,计算结果存储到hdfs 二:前期准备 2.1 上传文件word.txt至hdfs word.txt 文件内容: Could not...

    mapreduce实例–统计文本中的单词数

    一:环境描述:

    hadoop2.8.1
    文件上传至hdfs,程序从hdfs读取计算,计算结果存储到hdfs

    二:前期准备

    2.1 上传文件word.txt至hdfs

    word.txt 文件内容:

    Could not obtain block, Could not obtain block, Could not obtain block
    Could not obtain block
    Could not obtain block
    Could not obtain block
    > hdfs dfs -put ./word.txt /user/zhangsan/

    2.2 依赖包引入项目:

    hadoop-2.8.1\share\hadoop\hdfs\hadoop-hdfs-2.8.1.jar
    hadoop-2.8.1\share\hadoop\hdfs\lib\所有jar包

    hadoop-2.8.1\share\hadoop\common\hadoop-common-2.8.1.jar
    hadoop-2.8.1\share\hadoop\common\lib\所有jar包

    hadoop-2.8.1\share\hadoop\mapreduce\除hadoop-mapreduce-examples-2.8.1.jar之外的jar包
    hadoop-2.8.1\share\hadoop\mapreduce\lib\所有jar包

    hadoop-2.8.1\share\hadoop\yarn\所有jar包
    hadoop-2.8.1\share\hadoop\yarn\lib\所有jar包

    三:编码

    2.1 map类编写

    package wordcount;
    import java.io.IOException;
    
    import org.apache.hadoop.io.IntWritable;
    import org.apache.hadoop.io.LongWritable;
    import org.apache.hadoop.io.Text;
    import org.apache.hadoop.mapreduce.Mapper;
    /* 
     * KEYIN:输入kv数据对中key的数据类型 
     * VALUEIN:输入kv数据对中value的数据类型 
     * KEYOUT:输出kv数据对中key的数据类型 
     * VALUEOUT:输出kv数据对中value的数据类型 
     */  
    public class WordCountMapper extends Mapper<LongWritable, Text, Text, IntWritable>{  
    
        /* 
         * map方法是提供给map task进程来调用的,map task进程是每读取一行文本来调用一次我们自定义的map方法 
         * map task在调用map方法时,传递的参数: 
         *      一行的起始偏移量LongWritable作为key 
         *      一行的文本内容Text作为value 
         */  
        @Override  
        protected void map(LongWritable key, Text value,Context context) throws IOException, InterruptedException {  
            //拿到一行文本内容,转换成String 类型  
            String line = value.toString();  
            //将这行文本切分成单词  
            String[] words=line.split(" ");  
    
            //输出<单词,1>  
            for(String word:words){  
                context.write(new Text(word), new IntWritable(1));  
            }  
        }  
    }  

    2.2 reduce类编写

    package wordcount;
    
    import java.io.IOException;
    
    import org.apache.hadoop.io.IntWritable;
    import org.apache.hadoop.mapreduce.Reducer;
    import org.apache.hadoop.io.Text;
    
    /* 
     * KEYIN:对应mapper阶段输出的key类型 
     * VALUEIN:对应mapper阶段输出的value类型 
     * KEYOUT:reduce处理完之后输出的结果kv对中key的类型 
     * VALUEOUT:reduce处理完之后输出的结果kv对中value的类型 
     */  
    public class WordCountReducer extends Reducer<Text, IntWritable, Text, IntWritable>{  
        @Override  
        /* 
         * reduce方法提供给reduce task进程来调用 
         *  
         * reduce task会将shuffle阶段分发过来的大量kv数据对进行聚合,聚合的机制是相同keykv对聚合为一组 
         * 然后reduce task对每一组聚合kv调用一次我们自定义的reduce方法 
         * 比如:<hello,1><hello,1><hello,1><tom,1><tom,1><tom,1> 
         *  hello组会调用一次reduce方法进行处理,tom组也会调用一次reduce方法进行处理 
         *  调用时传递的参数: 
         *          key:一组kv中的key 
         *          values:一组kv中所有value的迭代器 
         */  
        protected void reduce(Text key, Iterable<IntWritable> values,Context context) throws IOException, InterruptedException {  
            //定义一个计数器  
            int count = 0;  
            //通过value这个迭代器,遍历这一组kv中所有的value,进行累加  
            for(IntWritable value:values){  
                count+=value.get();  
            }  
    
            //输出这个单词的统计结果  
            context.write(key, new IntWritable(count));  
        }  
    }  

    2.3 job类编写

    package wordcount;
    
    import java.io.IOException;
    
    import org.apache.hadoop.conf.Configuration;
    import org.apache.hadoop.fs.Path;
    import org.apache.hadoop.io.IntWritable;
    import org.apache.hadoop.io.Text;
    import org.apache.hadoop.mapreduce.Job;
    import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
    import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
    
    
    public class WordCountJobSubmitter {  
    
        public static void main(String[] args) throws IOException, ClassNotFoundException, InterruptedException {  
            Configuration conf = new Configuration();  
            Job wordCountJob = Job.getInstance(conf);  
    
            //重要:指定本job所在的jarwordCountJob.setJarByClass(WordCountJobSubmitter.class);  
    
            //设置wordCountJob所用的mapper逻辑类为哪个类  
            wordCountJob.setMapperClass(WordCountMapper.class);  
            //设置wordCountJob所用的reducer逻辑类为哪个类  
            wordCountJob.setReducerClass(WordCountReducer.class);  
    
            //设置map阶段输出的kv数据类型  
            wordCountJob.setMapOutputKeyClass(Text.class);  
            wordCountJob.setMapOutputValueClass(IntWritable.class);  
    
            //设置最终输出的kv数据类型  
            wordCountJob.setOutputKeyClass(Text.class);  
            wordCountJob.setOutputValueClass(IntWritable.class);  
    
            //设置要处理的文本数据所存放的路径  
            FileInputFormat.setInputPaths(wordCountJob, "hdfs://172.16.29.11:9000/user/zhangsan/word.txt");  
            FileOutputFormat.setOutputPath(wordCountJob, new Path("hdfs://172.16.29.11:9000/output/"));  
    
            //提交jobhadoop集群  
            wordCountJob.waitForCompletion(true);  
        }  
    }  

    2.4 eclipse 调试运行

    2.5 打包运行

    打包成mapreduce.jar,并运行

    > hadoop jar mapreduce.jar

    查看yarn: http://172.16.29.11:8088/cluster/apps 执行成功。

    注意
    output目录不能存在;如果已存在,执行此命令会报错:Output directory hdfs://172.16.29.11:9000/output already exists

    查看输出文件的内容:

    > hdfs dfs -ls /output/  # 列出文件
    > hdfs dfs -cat /output/part-r-00000  # 查看此文件内容
    > 
    Could   6
    block   4
    block,  2
    not     6
    obtain  6

    参考博文:https://blog.csdn.net/litianxiang_kaola/article/details/71154302

    展开全文
  • python统计文本中单词

    千次阅读 2014-04-11 15:55:16
    #!/usr/bin/env python file_name="hello.txt" line_counts=0 word_counts=0 char_counts=0 file=open(file_name,"r") for line in file.readlines(): words=line.split(' ') line_counts+=1 word_
  • c++ 统计一行文本中单词

    千次阅读 2019-07-31 21:02:17
    这个题直接统计空格+1 是错的。只能实打实的找字母。 #include<iostream> #include<cstring> #include<algorithm> using namespace std; static void f(string s){ int p1=0; int ...
  • python统计文本中单词出现次数

    万次阅读 2017-08-28 19:57:46
    统计单词出现的个数
  • Scala 统计文本中单词的数量

    千次阅读 2019-03-27 18:06:27
    var file = sc.textFile(“file:///root/abc.txt”) var a = file.flatMap(line => line.split("\t")) var b = a.map(word => (word,1)) var c = b.reduceByKey(+) 相当于 var c = b.reduceByKey((a,b) =&...
  • # 读取一个文本,并且统计文本中单词的出现次数 def read_file(): # 在windows环境的编码问题,指定utf-8 with open('F:/python源码/实验区/002.txt', 'r', encoding='utf-8') as f: word = [] # 空列表用来...
  • IOS下统计单词出现的次数,并按单词的字母顺序以及单词出现的次数进行排序
  • shell统计文本中单词的出现次数

    千次阅读 2015-08-31 21:41:00
    给定一个文本统计其中单词出现的次数 方法1 # solution 1 grep与awk配合使用,写成一个sh脚本fre.sh sh fre.sh wordfretest.txt #! /bin/bash# solution 1 if [ $# -eq 0 ] then echo "Usage:$0 args err...
  • java统计文本中英文单词

    千次阅读 2017-11-27 22:08:06
    * 处理文本数据,将英文单词分割,统计次数 * 使用正则表达式 * 首先除去所有非英文的字符,然后分割,最后使用guava multiset统计 */ public class MapDemo { public static void dealstring(String filename...
  • 统计文本中单词出现的个数 public void wordCount() throws Exception{ File file = new File("text3.txt" ); Scanner sc = new Scanner(file); HashMap ,Integer> hashMap= new HashMap (); System....
  • 使用单链表统计英文文本单词

    千次阅读 2017-11-17 23:06:16
    #include "stdio.h" #include "malloc.h" #include "string.h" /** * 注意下面三个*********************************************...//统计字符串中单词及每个单词出现次数 typedef struct WordsNode{ int tim
  • 用android 编程解析统计文本文件的字符数、单词数、行数(作业) 主要代码 ... private void analysis() { String str = " "; int words = 0; int chars = 0; int lines = 0; int spaces = 0; int marks = 0; int ...
  • 主要介绍了Python统计纯文本文件英文单词出现个的方法,结合实例形式总结分析了Python针对文本文件的读取,以及统计文本文件英文单词的4种常用操作技巧,需要的朋友可以参考下
  • 用Dictionary,TValule>来统计文本中单词数 Dictionary,int> frequencies; 创建从单词到频率的新映射, CountWords方法 创建 从string到int的空白映射,将统计每个单词在一段给定文本的频率 string[] words = ...
  • * Task :统计文本英文单词总个,并列出每个单词的个数 * * Date:2014.02.26 * *Author:璀若星辰 * */ import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java...
  • c++实现文本中单词和汉字的统计
  • Python 统计文本中单词的个数

    千次阅读 2013-07-24 09:55:00
    1.读文件,通过正则匹配 1 def statisticWord(): 2 line_number = 0 3 words_dict = {} 4 with open (r'D:\test\test.txt',encoding='utf-8') as a_file: 5 for line in a_file: ... 6 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 58,624
精华内容 23,449
关键字:

统计文本中单词数