`
yy_gy
  • 浏览: 34532 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

Google python wordcount.py (python 2.7)

阅读更多
#!/usr/bin/python -tt

The main() below is already defined and complete. It calls print_words()
and print_top() functions which you write.

1. For the --count flag, implement a print_words(filename) function that counts
how often each word appears in the text and prints:
word1 count1
word2 count2
...

Print the above list in order sorted by word (python will sort punctuation to
come before letters -- that's fine). Store all the words as lowercase,
so 'The' and 'the' count as the same word.

2. For the --topcount flag, implement a print_top(filename) which is similar
to print_words() but which prints just the top 20 most common words sorted
so the most common word is first, then the next most common, and so on.

Use str.split() (no arguments) to split on all whitespace.

Workflow: don't build the whole program at once. Get it to an intermediate
milestone and print your data structure and sys.exit(0).
When that's working, try for the next milestone.

Optional: define a helper function to avoid code duplication inside
print_words() and print_top().

"""

import sys

def print_words(filename):

  result=helper(filename)
  wfile=open('/media/python/basic/test.txt', 'w')
 
  for word in sorted(result):
    wfile.write(word[0]+'\t'+str(word[1])+'\n')
    print word[0]+'\t'+str(word[1])
  wfile.close()
 
def get_last(tup):
  return tup[-1]

def helper(filename):
 
  f=open(filename)
  words=f.read()
  f.close()
  words=words.lower().split()
  result=set()
  for word in words:
    result.add((word.lower(),words.count(word)))
  return result

def print_top(filename):
 
  result=helper(filename)
  i=0
  for word in sorted(result,key=get_last,reverse=True):
    print word[0]+'\t'+str(word[1])
    i+=1
    if i>=19:
      break


###

# This basic command line argument parsing code is provided and
# calls the print_words() and print_top() functions which you must define.
def main():
  if len(sys.argv) != 3:
    print 'usage: ./wordcount.py {--count | --topcount} file'
    sys.exit(1)

  option = sys.argv[1]
  filename = sys.argv[2]
  if option == '--count':
    print_words(filename)
  elif option == '--topcount':
    print_top(filename)
  else:
    print 'unknown option: ' + option
    sys.exit(1)

if __name__ == '__main__':
  main()
分享到:
评论

相关推荐

    python MapReduce的wordcount

    ### Python 实现 MapReduce 的 WordCount 示例详解 #### 一、引言 MapReduce 是 Hadoop 生态系统中的一种编程模型,主要用于大规模数据集的并行处理。它通过两个主要阶段——`Map` 和 `Reduce` 来实现数据处理任务...

    使用python实现mapreduce(wordcount).doc

    要使用Python实现WordCount,我们需要两个主要的脚本:mapper.py和reducer.py。 **mapper.py** 的任务是读取输入数据,分隔成单词,并为每个单词输出一行格式为`<word>\t1`的记录。例如: ```python #!/usr/bin/env...

    python-intro-Gordep:GitHub Classroom创建的python-intro-Gordep

    $ python wordCount.py input.txt output.txt 跟踪文本文件中每个单词出现的总次数 排除空格和标点符号 不区分大小写 打印输出到输出文件(如果存在,则覆盖),将单词列表按降序排列,其总数用空格隔开,每行一个...

    python-intro-ecrubio:GitHub Classroom创建的python-intro-ecrubio

    您的任务是创建一个python 2程序,该程序: 以输入文件和输出文件的名称为输入例子$ python wordCount.py input.txt output.txt 跟踪文本文件中每个单词出现的总次数排除空格和标点符号不区分大小写打印输出到输出...

    Python实现百万级电影数据离线处理与计算.zip

    - `9wordcount.py`:可能涉及到文本分析,如计算电影评论的词频,进行情感分析等。 6. **数据处理流程**:根据文件名推测,这个项目可能涵盖了数据爬取(3pachong.py)、数据清洗(可能在多个脚本中进行)、数据...

    大数据平台搭建与运维课件5大数据搭建与运维(项目五).docx

    本课件主要关注使用Python语言编写MapReduce程序,以实现大数据处理中的WordCount案例。MapReduce是Google提出的一种并行计算模型,广泛应用于大数据处理领域。 ### 1. Python环境准备 - **编程IDE**:PyCharm社区...

    cdl-python-lab:适用于学生的Python练习

    Python实验室 Python练习取自,我...list1.py大约需要10分钟, list2.py大约需要10分钟显示字典并从文件中读取(约10分钟) 如果有时间,请让他们实施wordcount.py或作为作业(约30分钟)可选的如何使用FacebookSDK获

    Spark及pyspark的操作应用.pdf

    - 直接运行:在程序所在目录使用Python执行,如`python3 WordCount.py`。 - 使用`spark-submit`提交:在Spark安装目录下的`bin`目录执行`spark-submit WordCount.py`。可以通过`spark-submit --help`查看可用选项...

    lab01bigdata:大数据实验室,专门从事电信行业

    $ python wordcount-local.py /datasets/gutenberg-small/*.txt > salida-serial.txt $ more salida-serial.txt MRJob $ cd 02-mapreduce $ python wordcount-mr.py ../datasets/gutenberg-small/*.txt CLI的...

    wordcount_matrix:生成字数矩阵的python工具

    wordcount_matrix 生成字数矩阵的python工具使用示例:python wordcount_matrix.py -d ~/Downloads/wordpress -f .php -o wordpress.csv 指定一个可选的目录路径、一个可选的文件掩码(此时没有通配符)和一个可选的...

    python新浪微博数据分布式挖掘

    为了调用新浪API,还需要安装新浪提供的Python SDK,可以通过`pip install sinaweibopy`或下载源码后运行`python setup.py install`进行安装。 2. **申请应用与API授权**:开发者需要在新浪开放平台...

    fake-pydoop:伪pydoop实现用于测试

    假派多普 ... $ ./fake-pydoop.py /path/to/pydoop/examples/wordcount/bin/wordcount-minimal.py </path/to/pydoop/examples/input/alice.txt 基于Matteo Bertozzi的纯Python SequenceFile Reader

    霸屏天下源码java-Hanhan-Spark-Python:使用过Sparkcorepython、Sparksql、SparkMLlib、S

    wordcount-improved.py 和 reddit-averages.py 这两个文件在我的 Hadoop-MapReduce 文件夹中执行与 WordCountImproved.java、RedditAverages.java 相同的工作,但不是使用 java MapReduce,而是使用 Spark 核心 ...

    wordcount-project:一个简单的文字计数器网站,用于计算编号。 文字中的单词

    3. `wordcount_project`:这是Django项目的根目录,可能包含`settings.py`(项目配置)、`urls.py`(URL路由)、`views.py`(视图函数)等文件。 4. `static` 和 `templates` 目录:分别用于存放静态资源(如CSS、...

    map-reduce-html:有用的Map Reduce功能集合,可深入了解HTML文档

    > -files WordCountMap.py,WordCountReduce.py \ -input /users/jquinn13/Words \ -output /users/jquinn13/WordCount \ -mapper WordCountMap.py \ -reducer WordCountReduce.py 示例输出 the 202466 and 195977 ...

    Hadoop 和 Spark 安装、环境配置与使用教程.pdf

    保存以下代码为 `wordcount.py`: ```python from pyspark.sql import SparkSession spark = SparkSession.builder.appName("SimpleApp").getOrCreate() text_file = spark.sparkContext.textFile("sample....

    hadoop-mapreduce-examples-python:python中的所有Hadoop Mapreduce示例!

    mapper.py(mapper 文件)和 reducer.py(reducer 文件):/usr/local hdfs 中的 words.txt:/wordcount 创建文件 touch words.txt 在 hdfs 中制作目录 hadoop fs -mkdir -p /wordcount 将测试文件从本地目录...

    Hadoop&Spark安装、环境配置、使用教程.pdf

    假设你有一个Scala或Python编写的Spark应用程序 `app.py`: ``` spark-submit --class "com.example.App" --master local[2] /path/to/app.jar ``` 或者使用Python脚本: ``` spark-submit /path/to/app.py...

    让python在hadoop上跑起来

    本文实例讲解的是一般的hadoop入门程序“WordCount”,就是首先写一个map程序用来将输入的字符串分割成单个的单词,然后reduce这些单个的单词,相同的单词就对其进行计数,不同的单词分别输出,结果输出每一个单词...

Global site tag (gtag.js) - Google Analytics