├── findJane.sh ├── error_message.csv ├── scale_image.py ├── user_statistics.csv ├── changeJane.py ├── run.py ├── examples.py ├── README.md ├── cars.py ├── ticky_check.py └── Crash_Course_with_Python_WordCloud.ipynb /findJane.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | grep " jane " ../data/list.txt | cut -d ' ' -f 3 > tempFile.txt 3 | files=$(> oldFiles.txt; 6 | fi 7 | done 8 | -------------------------------------------------------------------------------- /error_message.csv: -------------------------------------------------------------------------------- 1 | Error,Count 2 | Timeout while retrieving information,15 3 | Connection to DB failed,13 4 | Tried to add information to closed ticket,12 5 | Permission denied while closing ticket,10 6 | The ticket was modified while updating,9 7 | Ticket doesn't exist,7 8 | -------------------------------------------------------------------------------- /scale_image.py: -------------------------------------------------------------------------------- 1 | from PIL import Image 2 | import os 3 | 4 | arr = os.listdir() 5 | for file in arr: 6 | if file.startswith('ic_'): 7 | im = Image.open(file) 8 | im = im.rotate(-90) 9 | new_im = im.resize((128,128)) 10 | new_im.convert('RGB').save('/opt/icons/'+file+'.jpeg') 11 | -------------------------------------------------------------------------------- /user_statistics.csv: -------------------------------------------------------------------------------- 1 | Username,INFO,ERROR 2 | ac,2,0 3 | ahmed.miller,2,0 4 | blossom,2,0 5 | bpacheco,0,2 6 | breee,1,0 7 | britanni,1,0 8 | enim.non,2,0 9 | flavia,0,5 10 | jackowens,2,0 11 | kirknixon,2,0 12 | mai.hendrix,0,3 13 | mcintosh,4,0 14 | mdouglas,2,0 15 | montanap,0,4 16 | noel,6,0 17 | nonummy,2,0 18 | oren,2,0 19 | rr.robinson,2,0 20 | sri,2,0 21 | xlg,0,4 22 | -------------------------------------------------------------------------------- /changeJane.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import sys 4 | import os 5 | from pathlib import Path 6 | with open (sys.argv[1], "r") as myfile: 7 | for line in myfile: 8 | data= line.replace("\n", "") 9 | base=os.path.basename(data) 10 | baseNew = base.replace("jane","jdoe") 11 | #Dont forget to change to your own directory 12 | os.chdir('/home/student-02-06265fe82641/data') 13 | os.rename(base, baseNew) 14 | myfile.close() 15 | -------------------------------------------------------------------------------- /run.py: -------------------------------------------------------------------------------- 1 | 2 | #! /usr/bin/env python3 3 | import os 4 | import requests 5 | 6 | arr = os.listdir('/data/feedback') 7 | dict = {} 8 | key_values = ("title","name","date","feedback") 9 | for file in arr: 10 | f = open('/data/feedback/'+file, "r") 11 | cont = 0 12 | for line in f: 13 | if cont == 0: 14 | dict['title'] = line 15 | elif cont ==1: 16 | dict['name'] = line 17 | elif cont == 2: 18 | dict['date'] = line 19 | else: 20 | dict['feedback'] = line 21 | cont=cont+1 22 | response = requests.post(r'http:///feedback/', json=dict) 23 | print('Response',response.status_code) 24 | f.close() 25 | -------------------------------------------------------------------------------- /examples.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import emails 4 | import os 5 | import reports 6 | 7 | table_data=[ 8 | ['Name', 'Amount', 'Value'], 9 | ['elderberries', 10, 0.45], 10 | ['figs', 5, 3], 11 | ['apples', 4, 2.75], 12 | ['durians', 1, 25], 13 | ['bananas', 5, 1.99], 14 | ['cherries', 23, 5.80], 15 | ['grapes', 13, 2.48], 16 | ['kiwi', 4, 0.49]] 17 | reports.generate("/tmp/report.pdf", "A Complete Inventory of My Fruit", "This is all my fruit.", table_data) 18 | 19 | sender = "automation@example.com" 20 | receiver = "{}@example.com".format(os.environ.get('USER')) 21 | subject = "List of Fruits" 22 | body = "Hi\n\nI'm sending an attachment with all my fruit." 23 | 24 | message = emails.generate(sender, receiver, subject, body, "/tmp/report.pdf") 25 | emails.send(message) 26 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Google IT Automation with Python Professional Certification 2 | My projects for the Google IT Automation with Python certification 3 | 4 | ## Crash Course with Python (First module) 5 | After learning the basics of Python it was required that we created a filter from any given String and filter certain words and symbols and after all the filtering print out the dictionary in a Wordcloud. 6 | You will find the Jupyter Notebook with the assignment and the .txt book The Life of Abraham Lincoln that I used. 7 | 8 | ## Using Python to Interact with the Operating System (Week 6) 9 | #### findJane.sh 10 | The bash script reads the files from the data/list.txt, stores it in a file (tempFile.txt) and the reads it to a variable where it goes through the files in the directory and checks if they exist. 11 | #### changeJane.py 12 | The python script reads the result file (oldFiles.txt) and then renames each one of them from jane to jdoe. 13 | 14 | ## Using Python to Interact with the Operating System (Week 7) 15 | ### Final Project 16 | #### Ticky_check.py 17 | It will read the logs and generate two csv files based on the user counter and error counter on each line of the log file. 18 | #### User_statistics.csv 19 | This CSV file contains how many times each user appears on the info and error messages from the logs. 20 | #### Error_Message.csv 21 | This CSV file contains the types of errors on the logs file and the number of each occurrence. 22 | 23 | ## Automating Real-World Tasks with Python 24 | ### Week 1 - Scale and convert images using PIL 25 | #### scale_image.py 26 | This script executes the assignment. It reads all the icons in the image folder, rotates it 90 degrees clockwise, resizes to 128x128 and saves it on a different folder: "/opt/icons/" 27 | 28 | ### Week 2 - Process Text Files with Python Dictionaries and Upload to Running Web Service 29 | #### run.py 30 | This script reads the text files from the desired location, creates a dictionary and appends the line to a certain key and then sends the dictionary as a JSON using the POST method to the assigned URL. 31 | 32 | ### Week 3 - Automatically Generate a PDF and send it by Email 33 | #### examples.py 34 | Fixes a minor error on the default code and adds the kiwi row, generates the PDF and sends through email. 35 | #### cars.py 36 | Reads the cars .json file and tries to find: 37 | 1. Calculate the car model which had the most sales. 38 | 2. Calculate the year with the most sales. 39 | After doing all that it generates a PDF with all the desired information and sends it via email. 40 | -------------------------------------------------------------------------------- /cars.py: -------------------------------------------------------------------------------- 1 | 2 | #!/usr/bin/env python3 3 | 4 | import json 5 | import locale 6 | import sys 7 | import emails 8 | import os 9 | import reports 10 | 11 | 12 | def load_data(filename): 13 | """Loads the contents of filename as a JSON file.""" 14 | with open(filename) as json_file: 15 | data = json.load(json_file) 16 | return data 17 | 18 | 19 | def format_car(car): 20 | """Given a car dictionary, returns a nicely formatted name.""" 21 | return "{} {} ({})".format( 22 | car["car_make"], car["car_model"], car["car_year"]) 23 | 24 | car_sales ={} 25 | def calculate_sales_per_year(car, total_sales): 26 | if(car["car_year"] in car_sales): 27 | car_sales[car["car_year"]]=car_sales[car["car_year"]]+total_sales 28 | else: 29 | car_sales[car["car_year"]]=total_sales 30 | 31 | def returns_most_popular_car_year(): 32 | key='' 33 | value=0 34 | for k in car_sales: 35 | if(car_sales[k]>value): 36 | key = k 37 | value = car_sales[k] 38 | return "The most popular year was "+str(key)+" with "+str(value)+" sales." 39 | 40 | def process_data(data): 41 | """Analyzes the data, looking for maximums. 42 | 43 | Returns a list of lines that summarize the information. 44 | """ 45 | locale.setlocale(locale.LC_ALL, 'en_US.UTF8') 46 | max_revenue = {"revenue": 0} 47 | max_sales = {"total_sales": 0} 48 | 49 | for item in data: 50 | # Calculate the revenue generated by this model (price * total_sales) 51 | # We need to convert the price from "$1234.56" to 1234.56 52 | item_price = locale.atof(item["price"].strip("$")) 53 | item_revenue = item["total_sales"] * item_price 54 | if item_revenue > max_revenue["revenue"]: 55 | item["revenue"] = item_revenue 56 | max_revenue = item 57 | # TODO: also handle max sales 58 | if item["total_sales"] > max_sales["total_sales"]: 59 | max_sales = item 60 | # TODO: also handle most popular car_year 61 | calculate_sales_per_year(item["car"],item["total_sales"]) 62 | 63 | summary = [ 64 | "The {} generated the most revenue: ${}".format( 65 | format_car(max_revenue["car"]), max_revenue["revenue"]), 66 | "The {} had the most sales: {}".format( 67 | format_car(max_sales["car"]), max_sales["total_sales"]), 68 | returns_most_popular_car_year() 69 | ] 70 | 71 | return summary 72 | 73 | 74 | def cars_dict_to_table(car_data): 75 | """Turns the data in car_data into a list of lists.""" 76 | table_data = [["ID", "Car", "Price", "Total Sales"]] 77 | for item in car_data: 78 | table_data.append([item["id"], format_car(item["car"]), item["price"], item["total_sales"]]) 79 | return table_data 80 | 81 | def pdf_generator(summary,data): 82 | table_data=cars_dict_to_table(data) 83 | result='' 84 | for line in summary: 85 | result=result+line+'
' 86 | reports.generate("/tmp/reportCars.pdf", "Sales Summary for last month",result,table_data ) 87 | 88 | 89 | def email_send_report(summary): 90 | sender = "automation@example.com" 91 | receiver = "{}@example.com".format(os.environ.get('USER')) 92 | subject = "Sales summary for last month" 93 | body = '\n'.join(summary) 94 | message = emails.generate(sender, receiver, subject, body, "/tmp/reportCars.pdf") 95 | emails.send(message) 96 | 97 | def main(argv): 98 | """Process the JSON data and generate a full report out of it.""" 99 | data = load_data("/home/student-04-80a26181b2f9/car_sales.json") 100 | summary = process_data(data) 101 | # TODO: turn this into a PDF report 102 | pdf_generator(summary,data) 103 | # TODO: send the PDF report as an email attachment 104 | email_send_report(summary) 105 | 106 | if __name__ == "__main__": 107 | main(sys.argv) 108 | -------------------------------------------------------------------------------- /ticky_check.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import os 4 | import re 5 | import sys 6 | import operator 7 | import csv 8 | 9 | error_counter = {} 10 | error_user = {} 11 | info_user = {} 12 | 13 | #This function will read each line of the syslog.log file and check if it is an error or an info message. 14 | def search_file(): 15 | with open('syslog.log', "r") as myfile: 16 | for line in myfile: 17 | if " ERROR " in line: 18 | find_error(line) 19 | add_user_list(line, 1) 20 | elif " INFO " in line: 21 | add_user_list(line, 2) 22 | return 23 | 24 | 25 | #If it is an error it will read the error from the line and increment into the dictionary 26 | def find_error(str): 27 | match = re.search(r"(ERROR [\w \[]*) ", str) 28 | if match is not None: 29 | aux = match.group(0).replace("ERROR ", "").strip() 30 | if aux == "Ticket": 31 | aux = "Ticket doesn't exist" 32 | if not aux in error_counter: 33 | error_counter[aux] = 1 34 | else: 35 | error_counter[aux] += 1 36 | return 37 | 38 | #This whill read the user from the string and add to the error or the info counter depending on the op number 39 | def add_user_list(str, op): 40 | match = re.search(r'\(.*?\)', str) 41 | user = match.group(0) 42 | userA = user.strip("()") 43 | if op == 1: 44 | if not userA in error_user: 45 | error_user[userA] = 1 46 | else: 47 | error_user[userA] += 1 48 | elif op == 2: 49 | if not userA in info_user: 50 | info_user[userA] = 1 51 | else: 52 | info_user[userA] += 1 53 | return 54 | 55 | #This function will read the list, arrange it and return a tuple with the dictionary items 56 | def sort_list(op, list): 57 | if op == 1: 58 | s = sorted(list.items(), key=operator.itemgetter(1), reverse=True) 59 | elif op == 2: 60 | s = sorted(list.items(), key=operator.itemgetter(0)) 61 | return s 62 | 63 | #This is an extra function which will read the value of a user in the error dictionary and return its value if key exists 64 | def getErrValue(keyV): 65 | for key, value in error_user: 66 | if key is keyV: 67 | return value 68 | return 0 69 | 70 | #This function writes both csv files 71 | def write_csv(op): 72 | if op == 1: 73 | with open('user_statistics.csv', 'w', newline='') as output: 74 | fieldnames = ['Username', 'INFO', 'ERROR'] 75 | csvw = csv.DictWriter(output, fieldnames=fieldnames) 76 | csvw.writeheader() 77 | for key, value in info_user: 78 | valError = getErrValue(key) 79 | csvw.writerow({'Username': key, 'INFO': value, 'ERROR': valError}) 80 | if op == 2: 81 | with open('error_message.csv', 'w', newline='') as output: 82 | fieldnames = ['Error', 'Count'] 83 | csvw = csv.DictWriter(output, fieldnames=fieldnames) 84 | csvw.writeheader() 85 | for key, value in error_counter: 86 | csvw.writerow({'Error': key, 'Count': value}) 87 | return 88 | 89 | #This function adds zero to the other dictionary in case that user is not a key, it will add a key with the user and value 0 90 | def add_zeros(): 91 | for user in error_user.keys(): 92 | if user not in info_user: 93 | info_user[user] = 0 94 | for user in info_user.keys(): 95 | if user not in error_user: 96 | error_user[user] = 0 97 | return 98 | 99 | 100 | #This will execute the functions 101 | search_file() 102 | add_zeros() 103 | error_counter = sort_list(1, error_counter) 104 | error_user = sort_list(2, error_user) 105 | info_user = sort_list(2, info_user) 106 | write_csv(1) 107 | write_csv(2) -------------------------------------------------------------------------------- /Crash_Course_with_Python_WordCloud.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "# Final Project - Word Cloud" 8 | ] 9 | }, 10 | { 11 | "cell_type": "markdown", 12 | "metadata": {}, 13 | "source": [ 14 | "For this project, you'll create a \"word cloud\" from a text by writing a script. This script needs to process the text, remove punctuation, ignore case and words that do not contain all alphabets, count the frequencies, and ignore uninteresting or irrelevant words. A dictionary is the output of the `calculate_frequencies` function. The `wordcloud` module will then generate the image from your dictionary." 15 | ] 16 | }, 17 | { 18 | "cell_type": "markdown", 19 | "metadata": {}, 20 | "source": [ 21 | "For the input text of your script, you will need to provide a file that contains text only. For the text itself, you can copy and paste the contents of a website you like. Or you can use a site like [Project Gutenberg](https://www.gutenberg.org/) to find books that are available online. You could see what word clouds you can get from famous books, like a Shakespeare play or a novel by Jane Austen. Save this as a .txt file somewhere on your computer.\n", 22 | "

\n", 23 | "Now you will need to upload your input file here so that your script will be able to process it. To do the upload, you will need an uploader widget. Run the following cell to perform all the installs and imports for your word cloud script and uploader widget. It may take a minute for all of this to run and there will be a lot of output messages. But, be patient. Once you get the following final line of output, the code is done executing. Then you can continue on with the rest of the instructions for this notebook.\n", 24 | "

\n", 25 | "**Enabling notebook extension fileupload/extension...**\n", 26 | "
\n", 27 | "**- Validating: OK**" 28 | ] 29 | }, 30 | { 31 | "cell_type": "code", 32 | "execution_count": 3, 33 | "metadata": {}, 34 | "outputs": [ 35 | { 36 | "name": "stdout", 37 | "output_type": "stream", 38 | "text": [ 39 | "Requirement already satisfied: wordcloud in /opt/conda/lib/python3.6/site-packages (1.6.0)\n", 40 | "Requirement already satisfied: numpy>=1.6.1 in /opt/conda/lib/python3.6/site-packages (from wordcloud) (1.15.4)\n", 41 | "Requirement already satisfied: matplotlib in /opt/conda/lib/python3.6/site-packages (from wordcloud) (3.0.3)\n", 42 | "Requirement already satisfied: pillow in /opt/conda/lib/python3.6/site-packages (from wordcloud) (5.4.1)\n", 43 | "Requirement already satisfied: cycler>=0.10 in /opt/conda/lib/python3.6/site-packages (from matplotlib->wordcloud) (0.10.0)\n", 44 | "Requirement already satisfied: kiwisolver>=1.0.1 in /opt/conda/lib/python3.6/site-packages (from matplotlib->wordcloud) (1.0.1)\n", 45 | "Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=2.0.1 in /opt/conda/lib/python3.6/site-packages (from matplotlib->wordcloud) (2.3.1)\n", 46 | "Requirement already satisfied: python-dateutil>=2.1 in /opt/conda/lib/python3.6/site-packages (from matplotlib->wordcloud) (2.8.0)\n", 47 | "Requirement already satisfied: six in /opt/conda/lib/python3.6/site-packages (from cycler>=0.10->matplotlib->wordcloud) (1.12.0)\n", 48 | "Requirement already satisfied: setuptools in /opt/conda/lib/python3.6/site-packages (from kiwisolver>=1.0.1->matplotlib->wordcloud) (40.8.0)\n", 49 | "Requirement already satisfied: fileupload in /opt/conda/lib/python3.6/site-packages (0.1.5)\n", 50 | "Requirement already satisfied: notebook>=4.2 in /opt/conda/lib/python3.6/site-packages (from fileupload) (5.7.5)\n", 51 | "Requirement already satisfied: traitlets>=4.2 in /opt/conda/lib/python3.6/site-packages (from fileupload) (4.3.2)\n", 52 | "Requirement already satisfied: ipywidgets>=5.1 in /opt/conda/lib/python3.6/site-packages (from fileupload) (7.4.2)\n", 53 | "Requirement already satisfied: jupyter-core>=4.4.0 in /opt/conda/lib/python3.6/site-packages (from notebook>=4.2->fileupload) (4.4.0)\n", 54 | "Requirement already satisfied: pyzmq>=17 in /opt/conda/lib/python3.6/site-packages (from notebook>=4.2->fileupload) (18.0.1)\n", 55 | "Requirement already satisfied: nbconvert in /opt/conda/lib/python3.6/site-packages (from notebook>=4.2->fileupload) (5.4.1)\n", 56 | "Requirement already satisfied: tornado<7,>=4.1 in /opt/conda/lib/python3.6/site-packages (from notebook>=4.2->fileupload) (6.0.2)\n", 57 | "Requirement already satisfied: jupyter-client>=5.2.0 in /opt/conda/lib/python3.6/site-packages (from notebook>=4.2->fileupload) (5.2.4)\n", 58 | "Requirement already satisfied: Send2Trash in /opt/conda/lib/python3.6/site-packages (from notebook>=4.2->fileupload) (1.5.0)\n", 59 | "Requirement already satisfied: ipython-genutils in /opt/conda/lib/python3.6/site-packages (from notebook>=4.2->fileupload) (0.2.0)\n", 60 | "Requirement already satisfied: terminado>=0.8.1 in /opt/conda/lib/python3.6/site-packages (from notebook>=4.2->fileupload) (0.8.1)\n", 61 | "Requirement already satisfied: jinja2 in /opt/conda/lib/python3.6/site-packages (from notebook>=4.2->fileupload) (2.10)\n", 62 | "Requirement already satisfied: nbformat in /opt/conda/lib/python3.6/site-packages (from notebook>=4.2->fileupload) (4.4.0)\n", 63 | "Requirement already satisfied: prometheus-client in /opt/conda/lib/python3.6/site-packages (from notebook>=4.2->fileupload) (0.6.0)\n", 64 | "Requirement already satisfied: ipykernel in /opt/conda/lib/python3.6/site-packages (from notebook>=4.2->fileupload) (5.1.0)\n", 65 | "Requirement already satisfied: six in /opt/conda/lib/python3.6/site-packages (from traitlets>=4.2->fileupload) (1.12.0)\n", 66 | "Requirement already satisfied: decorator in /opt/conda/lib/python3.6/site-packages (from traitlets>=4.2->fileupload) (4.3.2)\n", 67 | "Requirement already satisfied: widgetsnbextension~=3.4.0 in /opt/conda/lib/python3.6/site-packages (from ipywidgets>=5.1->fileupload) (3.4.2)\n", 68 | "Requirement already satisfied: ipython>=4.0.0; python_version >= \"3.3\" in /opt/conda/lib/python3.6/site-packages (from ipywidgets>=5.1->fileupload) (7.4.0)\n", 69 | "Requirement already satisfied: mistune>=0.8.1 in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.2->fileupload) (0.8.4)\n", 70 | "Requirement already satisfied: pygments in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.2->fileupload) (2.3.1)\n", 71 | "Requirement already satisfied: entrypoints>=0.2.2 in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.2->fileupload) (0.3)\n", 72 | "Requirement already satisfied: bleach in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.2->fileupload) (3.1.0)\n", 73 | "Requirement already satisfied: pandocfilters>=1.4.1 in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.2->fileupload) (1.4.2)\n", 74 | "Requirement already satisfied: testpath in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.2->fileupload) (0.4.2)\n", 75 | "Requirement already satisfied: defusedxml in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.2->fileupload) (0.5.0)\n", 76 | "Requirement already satisfied: python-dateutil>=2.1 in /opt/conda/lib/python3.6/site-packages (from jupyter-client>=5.2.0->notebook>=4.2->fileupload) (2.8.0)\n", 77 | "Requirement already satisfied: MarkupSafe>=0.23 in /opt/conda/lib/python3.6/site-packages (from jinja2->notebook>=4.2->fileupload) (1.1.1)\n", 78 | "Requirement already satisfied: jsonschema!=2.5.0,>=2.4 in /opt/conda/lib/python3.6/site-packages (from nbformat->notebook>=4.2->fileupload) (3.0.1)\n", 79 | "Requirement already satisfied: setuptools>=18.5 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=5.1->fileupload) (40.8.0)\n", 80 | "Requirement already satisfied: jedi>=0.10 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=5.1->fileupload) (0.13.3)\n", 81 | "Requirement already satisfied: pickleshare in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=5.1->fileupload) (0.7.5)\n", 82 | "Requirement already satisfied: prompt_toolkit<2.1.0,>=2.0.0 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=5.1->fileupload) (2.0.9)\n", 83 | "Requirement already satisfied: backcall in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=5.1->fileupload) (0.1.0)\n", 84 | "Requirement already satisfied: pexpect in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=5.1->fileupload) (4.6.0)\n", 85 | "Requirement already satisfied: webencodings in /opt/conda/lib/python3.6/site-packages (from bleach->nbconvert->notebook>=4.2->fileupload) (0.5.1)\n", 86 | "Requirement already satisfied: attrs>=17.4.0 in /opt/conda/lib/python3.6/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat->notebook>=4.2->fileupload) (19.1.0)\n", 87 | "Requirement already satisfied: pyrsistent>=0.14.0 in /opt/conda/lib/python3.6/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat->notebook>=4.2->fileupload) (0.14.11)\n", 88 | "Requirement already satisfied: parso>=0.3.0 in /opt/conda/lib/python3.6/site-packages (from jedi>=0.10->ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=5.1->fileupload) (0.3.4)\n", 89 | "Requirement already satisfied: wcwidth in /opt/conda/lib/python3.6/site-packages (from prompt_toolkit<2.1.0,>=2.0.0->ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=5.1->fileupload) (0.1.7)\n", 90 | "Requirement already satisfied: ptyprocess>=0.5 in /opt/conda/lib/python3.6/site-packages (from pexpect->ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets>=5.1->fileupload) (0.6.0)\n", 91 | "Requirement already satisfied: ipywidgets in /opt/conda/lib/python3.6/site-packages (7.4.2)\n", 92 | "Requirement already satisfied: widgetsnbextension~=3.4.0 in /opt/conda/lib/python3.6/site-packages (from ipywidgets) (3.4.2)\n", 93 | "Requirement already satisfied: ipykernel>=4.5.1 in /opt/conda/lib/python3.6/site-packages (from ipywidgets) (5.1.0)\n", 94 | "Requirement already satisfied: traitlets>=4.3.1 in /opt/conda/lib/python3.6/site-packages (from ipywidgets) (4.3.2)\n", 95 | "Requirement already satisfied: ipython>=4.0.0; python_version >= \"3.3\" in /opt/conda/lib/python3.6/site-packages (from ipywidgets) (7.4.0)\n", 96 | "Requirement already satisfied: nbformat>=4.2.0 in /opt/conda/lib/python3.6/site-packages (from ipywidgets) (4.4.0)\n", 97 | "Requirement already satisfied: notebook>=4.4.1 in /opt/conda/lib/python3.6/site-packages (from widgetsnbextension~=3.4.0->ipywidgets) (5.7.5)\n", 98 | "Requirement already satisfied: jupyter-client in /opt/conda/lib/python3.6/site-packages (from ipykernel>=4.5.1->ipywidgets) (5.2.4)\n", 99 | "Requirement already satisfied: tornado>=4.2 in /opt/conda/lib/python3.6/site-packages (from ipykernel>=4.5.1->ipywidgets) (6.0.2)\n", 100 | "Requirement already satisfied: ipython_genutils in /opt/conda/lib/python3.6/site-packages (from traitlets>=4.3.1->ipywidgets) (0.2.0)\n", 101 | "Requirement already satisfied: six in /opt/conda/lib/python3.6/site-packages (from traitlets>=4.3.1->ipywidgets) (1.12.0)\n", 102 | "Requirement already satisfied: decorator in /opt/conda/lib/python3.6/site-packages (from traitlets>=4.3.1->ipywidgets) (4.3.2)\n", 103 | "Requirement already satisfied: setuptools>=18.5 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets) (40.8.0)\n", 104 | "Requirement already satisfied: jedi>=0.10 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets) (0.13.3)\n", 105 | "Requirement already satisfied: pickleshare in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets) (0.7.5)\n", 106 | "Requirement already satisfied: prompt_toolkit<2.1.0,>=2.0.0 in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets) (2.0.9)\n", 107 | "Requirement already satisfied: pygments in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets) (2.3.1)\n", 108 | "Requirement already satisfied: backcall in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets) (0.1.0)\n", 109 | "Requirement already satisfied: pexpect in /opt/conda/lib/python3.6/site-packages (from ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets) (4.6.0)\n", 110 | "Requirement already satisfied: jsonschema!=2.5.0,>=2.4 in /opt/conda/lib/python3.6/site-packages (from nbformat>=4.2.0->ipywidgets) (3.0.1)\n", 111 | "Requirement already satisfied: jupyter_core in /opt/conda/lib/python3.6/site-packages (from nbformat>=4.2.0->ipywidgets) (4.4.0)\n", 112 | "Requirement already satisfied: terminado>=0.8.1 in /opt/conda/lib/python3.6/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.4.0->ipywidgets) (0.8.1)\n", 113 | "Requirement already satisfied: pyzmq>=17 in /opt/conda/lib/python3.6/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.4.0->ipywidgets) (18.0.1)\n", 114 | "Requirement already satisfied: Send2Trash in /opt/conda/lib/python3.6/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.4.0->ipywidgets) (1.5.0)\n", 115 | "Requirement already satisfied: prometheus-client in /opt/conda/lib/python3.6/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.4.0->ipywidgets) (0.6.0)\n", 116 | "Requirement already satisfied: jinja2 in /opt/conda/lib/python3.6/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.4.0->ipywidgets) (2.10)\n", 117 | "Requirement already satisfied: nbconvert in /opt/conda/lib/python3.6/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.4.0->ipywidgets) (5.4.1)\n" 118 | ] 119 | }, 120 | { 121 | "name": "stdout", 122 | "output_type": "stream", 123 | "text": [ 124 | "Requirement already satisfied: python-dateutil>=2.1 in /opt/conda/lib/python3.6/site-packages (from jupyter-client->ipykernel>=4.5.1->ipywidgets) (2.8.0)\n", 125 | "Requirement already satisfied: parso>=0.3.0 in /opt/conda/lib/python3.6/site-packages (from jedi>=0.10->ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets) (0.3.4)\n", 126 | "Requirement already satisfied: wcwidth in /opt/conda/lib/python3.6/site-packages (from prompt_toolkit<2.1.0,>=2.0.0->ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets) (0.1.7)\n", 127 | "Requirement already satisfied: ptyprocess>=0.5 in /opt/conda/lib/python3.6/site-packages (from pexpect->ipython>=4.0.0; python_version >= \"3.3\"->ipywidgets) (0.6.0)\n", 128 | "Requirement already satisfied: attrs>=17.4.0 in /opt/conda/lib/python3.6/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat>=4.2.0->ipywidgets) (19.1.0)\n", 129 | "Requirement already satisfied: pyrsistent>=0.14.0 in /opt/conda/lib/python3.6/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat>=4.2.0->ipywidgets) (0.14.11)\n", 130 | "Requirement already satisfied: MarkupSafe>=0.23 in /opt/conda/lib/python3.6/site-packages (from jinja2->notebook>=4.4.1->widgetsnbextension~=3.4.0->ipywidgets) (1.1.1)\n", 131 | "Requirement already satisfied: mistune>=0.8.1 in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.4.0->ipywidgets) (0.8.4)\n", 132 | "Requirement already satisfied: entrypoints>=0.2.2 in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.4.0->ipywidgets) (0.3)\n", 133 | "Requirement already satisfied: bleach in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.4.0->ipywidgets) (3.1.0)\n", 134 | "Requirement already satisfied: pandocfilters>=1.4.1 in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.4.0->ipywidgets) (1.4.2)\n", 135 | "Requirement already satisfied: testpath in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.4.0->ipywidgets) (0.4.2)\n", 136 | "Requirement already satisfied: defusedxml in /opt/conda/lib/python3.6/site-packages (from nbconvert->notebook>=4.4.1->widgetsnbextension~=3.4.0->ipywidgets) (0.5.0)\n", 137 | "Requirement already satisfied: webencodings in /opt/conda/lib/python3.6/site-packages (from bleach->nbconvert->notebook>=4.4.1->widgetsnbextension~=3.4.0->ipywidgets) (0.5.1)\n", 138 | "Installing /opt/conda/lib/python3.6/site-packages/fileupload/static -> fileupload\n", 139 | "Up to date: /home/jovyan/.local/share/jupyter/nbextensions/fileupload/extension.js\n", 140 | "Up to date: /home/jovyan/.local/share/jupyter/nbextensions/fileupload/widget.js\n", 141 | "Up to date: /home/jovyan/.local/share/jupyter/nbextensions/fileupload/fileupload/widget.js\n", 142 | "- Validating: \u001b[32mOK\u001b[0m\n", 143 | "\n", 144 | " To initialize this nbextension in the browser every time the notebook (or other app) loads:\n", 145 | " \n", 146 | " jupyter nbextension enable fileupload --user --py\n", 147 | " \n", 148 | "Enabling notebook extension fileupload/extension...\n", 149 | " - Validating: \u001b[32mOK\u001b[0m\n" 150 | ] 151 | } 152 | ], 153 | "source": [ 154 | "# Here are all the installs and imports you will need for your word cloud script and uploader widget\n", 155 | "\n", 156 | "!pip install wordcloud\n", 157 | "!pip install fileupload\n", 158 | "!pip install ipywidgets\n", 159 | "!jupyter nbextension install --py --user fileupload\n", 160 | "!jupyter nbextension enable --py fileupload\n", 161 | "\n", 162 | "import wordcloud\n", 163 | "import numpy as np\n", 164 | "from matplotlib import pyplot as plt\n", 165 | "from IPython.display import display\n", 166 | "import fileupload\n", 167 | "import io\n", 168 | "import sys\n", 169 | "import re" 170 | ] 171 | }, 172 | { 173 | "cell_type": "markdown", 174 | "metadata": {}, 175 | "source": [ 176 | "Whew! That was a lot. All of the installs and imports for your word cloud script and uploader widget have been completed. \n", 177 | "

\n", 178 | "**IMPORTANT!** If this was your first time running the above cell containing the installs and imports, you will need save this notebook now. Then under the File menu above, select Close and Halt. When the notebook has completely shut down, reopen it. This is the only way the necessary changes will take affect.\n", 179 | "

\n", 180 | "To upload your text file, run the following cell that contains all the code for a custom uploader widget. Once you run this cell, a \"Browse\" button should appear below it. Click this button and navigate the window to locate your saved text file." 181 | ] 182 | }, 183 | { 184 | "cell_type": "code", 185 | "execution_count": 2, 186 | "metadata": {}, 187 | "outputs": [ 188 | { 189 | "data": { 190 | "application/vnd.jupyter.widget-view+json": { 191 | "model_id": "cf8e07c282ba4427ab2fcee09cbdc1a4", 192 | "version_major": 2, 193 | "version_minor": 0 194 | }, 195 | "text/plain": [ 196 | "FileUploadWidget(label='Browse', _dom_classes=('widget_item', 'btn-group'))" 197 | ] 198 | }, 199 | "metadata": {}, 200 | "output_type": "display_data" 201 | }, 202 | { 203 | "name": "stdout", 204 | "output_type": "stream", 205 | "text": [ 206 | "Uploaded `61251-0.txt` (154.86 kB)\n" 207 | ] 208 | } 209 | ], 210 | "source": [ 211 | "# This is the uploader widget\n", 212 | "\n", 213 | "def _upload():\n", 214 | "\n", 215 | " _upload_widget = fileupload.FileUploadWidget()\n", 216 | "\n", 217 | " def _cb(change):\n", 218 | " global file_contents\n", 219 | " decoded = io.StringIO(change['owner'].data.decode('utf-8'))\n", 220 | " filename = change['owner'].filename\n", 221 | " print('Uploaded `{}` ({:.2f} kB)'.format(\n", 222 | " filename, len(decoded.read()) / 2 **10))\n", 223 | " file_contents = decoded.getvalue()\n", 224 | "\n", 225 | " _upload_widget.observe(_cb, names='data')\n", 226 | " display(_upload_widget)\n", 227 | "\n", 228 | "_upload()" 229 | ] 230 | }, 231 | { 232 | "cell_type": "markdown", 233 | "metadata": {}, 234 | "source": [ 235 | "The uploader widget saved the contents of your uploaded file into a string object named *file_contents* that your word cloud script can process. This was a lot of preliminary work, but you are now ready to begin your script. " 236 | ] 237 | }, 238 | { 239 | "cell_type": "markdown", 240 | "metadata": {}, 241 | "source": [ 242 | "Write a function in the cell below that iterates through the words in *file_contents*, removes punctuation, and counts the frequency of each word. Oh, and be sure to make it ignore word case, words that do not contain all alphabets and boring words like \"and\" or \"the\". Then use it in the `generate_from_frequencies` function to generate your very own word cloud!\n", 243 | "

\n", 244 | "**Hint:** Try storing the results of your iteration in a dictionary before passing them into wordcloud via the `generate_from_frequencies` function." 245 | ] 246 | }, 247 | { 248 | "cell_type": "code", 249 | "execution_count": 27, 250 | "metadata": {}, 251 | "outputs": [], 252 | "source": [ 253 | "def split_and_lower(file_contents):\n", 254 | " file_contents = file_contents.lower()\n", 255 | " array_words = file_contents.split()\n", 256 | " return array_words\n", 257 | "\n", 258 | "def remove_non_alphabetic(source):\n", 259 | " new_array =[]\n", 260 | " #First parameter is the replacement, second parameter is your input string\n", 261 | " for word in source:\n", 262 | " regex = re.compile('[^a-zA-Z]')\n", 263 | " extra = regex.sub('', word)\n", 264 | " new_array.append(extra)\n", 265 | " return new_array\n", 266 | "\n", 267 | "\n", 268 | "def calculate_frequencies(file_contents):\n", 269 | " # Here is a list of punctuations and uninteresting words you can use to process your text\n", 270 | " #punctuations = '''!()-[]{};:'\"\\,<>./?@#$%^&*_~'''\n", 271 | " uninteresting_words = [\"the\", \"a\", \"to\", \"if\", \"is\", \"it\", \"of\", \"and\", \"or\", \"an\", \"as\", \"i\", \"me\", \"my\", \\\n", 272 | " \"we\", \"our\", \"ours\", \"you\", \"your\", \"yours\", \"he\", \"she\", \"him\", \"his\", \"her\", \"hers\", \"its\", \"they\", \"them\", \\\n", 273 | " \"their\", \"what\", \"which\", \"who\", \"whom\", \"this\", \"that\", \"am\", \"are\", \"was\", \"were\", \"be\", \"been\", \"being\", \\\n", 274 | " \"have\", \"has\", \"had\", \"do\", \"does\", \"did\", \"but\", \"at\", \"by\", \"with\", \"from\", \"here\", \"when\", \"where\", \"how\", \\\n", 275 | " \"all\", \"any\", \"both\", \"each\", \"few\", \"more\", \"some\", \"such\", \"no\", \"nor\", \"too\", \"very\", \"can\", \"will\", \"just\"]\n", 276 | " \n", 277 | " # LEARNER CODE START HERE\n", 278 | " new_array = split_and_lower(file_contents)\n", 279 | " original_words = remove_non_alphabetic(new_array)\n", 280 | " \n", 281 | " for word in original_words:\n", 282 | " if word.isnumeric():\n", 283 | " original_words.remove(word)\n", 284 | " \n", 285 | " new_list = []\n", 286 | " new_dictionary = {}\n", 287 | " \n", 288 | " for word in original_words:\n", 289 | " if word not in new_dictionary:\n", 290 | " new_dictionary[word] = 1\n", 291 | " elif word in new_dictionary:\n", 292 | " new_dictionary[word] += 1\n", 293 | " \n", 294 | " for words in uninteresting_words:\n", 295 | " if words in new_dictionary:\n", 296 | " del new_dictionary[words]\n", 297 | " \n", 298 | " #wordcloud\n", 299 | " cloud = wordcloud.WordCloud()\n", 300 | " cloud.generate_from_frequencies(new_dictionary)\n", 301 | " return cloud.to_array()" 302 | ] 303 | }, 304 | { 305 | "cell_type": "code", 306 | "execution_count": 26, 307 | "metadata": {}, 308 | "outputs": [ 309 | { 310 | "name": "stdout", 311 | "output_type": "stream", 312 | "text": [ 313 | "{'project': 88, 'gutenberg': 30, 'ebook': 12, 'life': 33, 'abraham': 75, 'lincoln': 232, 'harriet': 6, 'putnam': 4, 'for': 242, 'use': 24, 'anyone': 5, 'anywhere': 2, 'in': 579, 'united': 30, 'states': 57, 'most': 23, 'other': 49, 'parts': 4, 'world': 17, 'cost': 3, 'almost': 4, 'restrictions': 2, 'whatsoever': 2, 'may': 22, 'copy': 14, 'give': 33, 'away': 10, 'reuse': 2, 'under': 19, 'terms': 27, 'license': 15, 'included': 3, 'online': 6, 'wwwgutenbergorg': 5, 'not': 197, 'located': 7, 'youll': 2, 'check': 4, 'laws': 13, 'country': 7, 'before': 23, 'using': 6, 'title': 1, 'young': 31, 'people': 29, 'told': 49, 'words': 32, 'one': 102, 'syllable': 2, 'author': 2, 'release': 1, 'date': 4, 'january': 3, '': 191, 'language': 1, 'english': 2, 'character': 1, 'set': 24, 'encoding': 1, 'utf': 1, 'start': 12, 'produced': 5, 'donald': 2, 'cummings': 2, 'distributed': 6, 'proofreading': 2, 'team': 2, 'httpwwwpgdpnet': 2, 'file': 4, 'images': 2, 'generously': 2, 'made': 120, 'available': 4, 'internet': 2, 'archiveamerican': 2, 'libraries': 2, 'illustration': 52, 'lover': 2, 'books': 10, 'study': 5, 'mcloughlin': 2, 'bros': 1, 'inc': 1, 'new': 71, 'york': 7, 'copyright': 20, 'brothers': 4, 'printed': 5, 'america': 5, 'contents': 1, 'chapter': 28, 'babe': 6, 'log': 5, 'cabin': 7, 'kin': 5, 'ii': 3, 'home': 42, 'first': 61, 'grief': 7, 'iii': 2, 'reading': 4, 'firelight': 2, 'mother': 23, 'dollar': 5, 'iv': 2, 'slave': 11, 'sale': 3, 'soldier': 4, 'postmaster': 5, 'surveyor': 2, 'lawyer': 3, 'v': 3, 'leader': 5, 'freedom': 9, 'law': 27, 'maker': 2, 'vi': 2, 'douglas': 21, 'vii': 2, 'ask': 9, 'president': 72, 'viii': 2, 'presidential': 2, 'chair': 4, 'civil': 3, 'war': 44, 'begins': 2, 'ix': 2, 'early': 9, 'battles': 4, 'x': 2, 'grant': 44, 'wins': 2, 'west': 31, 'farragut': 6, 'orleans': 10, 'xi': 2, 'antietam': 4, 'vicksburg': 14, 'gettysburg': 10, 'xii': 2, 'chattanooga': 7, 'chickamauga': 4, 'lookout': 6, 'mountain': 6, 'lincolns': 43, 'speech': 21, 'xiii': 2, 'east': 20, 'chosen': 2, 'second': 7, 'term': 5, 'xiv': 2, 'return': 5, 'peace': 9, 'shot': 8, 'burial': 3, 'springfield': 19, 'list': 2, 'illustrations': 2, 'daniel': 7, 'boone': 7, 'born': 8, 'on': 230, 'way': 45, 'indiana': 5, 'going': 11, 'up': 99, 'loft': 3, 'railsplitter': 3, 'earning': 2, 'gentryville': 3, 'flatboat': 8, 'crew': 2, 'clerk': 8, 'offutts': 4, 'store': 11, 'captain': 7, 'protecting': 2, 'old': 35, 'indian': 4, 'andrew': 4, 'jackson': 7, 'kind': 23, 'deed': 3, 'webster': 4, 'henry': 6, 'clay': 5, 'stephen': 8, 'stump': 3, 'wigwam': 2, 'chicago': 6, 'named': 9, 'jefferson': 4, 'davis': 4, 'defences': 2, 'washington': 20, 'marching': 5, 'bull': 8, 'run': 9, 'general': 16, 'winfield': 2, 'scott': 7, 'battle': 17, 'belmont': 3, 'attack': 5, 'fort': 13, 'donelson': 5, 'church': 4, 'shiloh': 8, 'last': 47, 'charge': 35, 'southern': 7, 'troops': 75, 'leaving': 7, 'corinth': 6, 'gunboats': 6, 'mississippi': 14, 'army': 36, 'wagon': 2, 'missionary': 3, 'ridge': 10, 'along': 10, 'line': 16, 'lee': 30, 'black': 11, 'come': 61, 'boys': 17, 'back': 33, 'shermans': 3, 'forces': 16, 'atlanta': 6, 'skirmish': 2, 'wounded': 2, 'soldiers': 9, 'five': 15, 'forks': 4, 'retreating': 2, 'richmond': 22, 'union': 86, 'cavalry': 5, 'pursuit': 2, 'lees': 6, 'into': 29, 'son': 17, 'tad': 5, 'march': 12, 'looked': 5, 'assassination': 2, 'near': 24, 'scores': 13, 'years': 34, 'gone': 21, 'since': 7, 'poor': 26, 'plain': 15, 'hut': 5, 'banks': 8, 'small': 36, 'stream': 4, 'known': 23, 'big': 6, 'south': 44, 'fork': 3, 'nolins': 2, 'creek': 7, 'kentucky': 18, 'now': 25, 'larue': 1, 'county': 1, 'sunday': 2, 'feb': 4, 'child': 14, 'came': 111, 'bless': 2, 'much': 59, 'than': 21, 'cowshed': 1, 'held': 35, 'father': 23, 'whose': 16, 'names': 6, 'thomas': 20, 'nancy': 4, 'girl': 4, 'sarah': 8, 'these': 40, 'three': 27, 'saw': 29, 'strange': 7, 'sad': 17, 'face': 13, 'boy': 19, 'grew': 10, 'man': 60, 'so': 98, 'great': 107, 'good': 47, 'grand': 7, 'deeds': 5, 'gave': 37, 'high': 13, 'praise': 6, 'folks': 50, 'england': 2, 'time': 109, 'hingham': 1, 'mass': 1, 'bore': 7, 'name': 23, 'went': 103, 'straight': 12, 'work': 122, 'health': 3, 'strength': 7, 'thrift': 1, 'soon': 31, 'tracts': 2, 'land': 47, 'own': 23, 'long': 34, 'men': 108, 'bible': 5, 'samuel': 1, 'then': 126, 'two': 39, 'mordecais': 1, 'next': 11, 'john': 8, 'though': 37, 'there': 139, 'room': 11, 'hosts': 2, 'massachusetts': 5, 'yet': 8, 'left': 33, 'state': 30, 'took': 62, 'jersey': 3, 'mordecai': 4, 'freehold': 1, 'strong': 19, 'friends': 34, 'wanted': 5, 'while': 36, 'valley': 7, 'schuylkill': 1, 'pennsylvania': 7, 'large': 18, 'tract': 3, 'joined': 4, 'later': 6, 'farm': 12, 'george': 7, 'eleven': 1, 'children': 5, 'love': 9, 'woods': 10, 'song': 1, 'birds': 5, 'camp': 5, 'hunter': 2, 'farms': 2, 'thought': 67, 'best': 36, 'buy': 7, 'side': 23, 'potomac': 9, 'shenandoah': 3, 'lands': 9, 'surveyed': 2, 'boones': 2, 'north': 40, 'carolina': 7, 'age': 8, 'virginia': 5, 'see': 30, 'met': 21, 'sweet': 1, 'mary': 3, 'shipley': 2, 'wed': 2, 'fine': 5, 'beyond': 3, 'mountains': 4, 'found': 40, 'gateway': 1, 'cumberland': 3, 'gap': 1, 'honor': 3, 'duke': 1, 'primeminister': 1, 'king': 2, 'rich': 7, 'soil': 6, 'haunts': 1, 'buffalo': 1, 'deer': 3, 'got': 22, 'band': 2, 'score': 14, 'ten': 5, 'settlement': 2, 'spot': 2, 'boonsborough': 1, 'revolution': 1, 'indians': 4, 'arms': 16, 'given': 11, 'british': 1, 'red': 2, 'fought': 23, 'hard': 24, 'wont': 1, 'hunt': 2, 'white': 13, 'build': 4, 'forts': 4, 'watch': 4, 'foe': 65, 'points': 4, 'forth': 18, 'clear': 5, 'till': 18, 'ground': 10, 'still': 21, 'wife': 14, 'josiah': 2, 'yadkin': 1, 'group': 4, 'trip': 6, 'miles': 16, 'end': 37, 'route': 7, 'beargrass': 1, 'far': 17, 'city': 11, 'louisville': 2, 'thing': 19, 'sons': 3, 'out': 67, 'squad': 1, 'brush': 1, 'fell': 15, 'earth': 3, 'breathe': 1, 'older': 1, 'third': 4, 'caught': 5, 'savage': 2, 'would': 134, 'taken': 11, 'off': 31, 'quick': 5, 'flash': 1, 'eldest': 1, 'gun': 4, 'fired': 2, 'taking': 4, 'aim': 3, 'ornament': 1, 'breast': 3, 'killing': 1, 'once': 20, 'those': 59, 'days': 41, 'should': 36, 'make': 37, 'pay': 10, 'tools': 3, 'put': 50, 'coin': 3, 'could': 92, 'grown': 1, 'hanks': 5, 'true': 7, 'built': 12, 'elizabethtown': 2, 'gain': 7, 'scarce': 2, 'food': 9, 'shack': 1, 'rude': 2, 'floor': 5, 'laid': 10, 'glass': 1, 'window': 3, 'boards': 2, 'door': 8, 'place': 47, 'light': 5, 'tall': 5, 'dark': 4, 'hair': 1, 'looks': 2, 'grace': 7, 'heart': 24, 'said': 110, 'times': 12, 'look': 12, 'eyes': 10, 'others': 12, 'school': 4, 'read': 22, 'write': 5, 'knew': 27, 'glad': 20, 'tell': 11, 'dear': 12, 'ones': 4, 'brave': 20, 'help': 32, 'babes': 2, 'kept': 18, 'joy': 8, 'close': 12, 'deep': 7, 'seemed': 9, 'know': 6, 'learned': 4, 'talk': 10, 'hid': 1, 'sayings': 1, 'telling': 2, 'felt': 41, 'about': 36, 'dream': 1, 'leave': 15, 'bed': 3, 'leaves': 5, 'take': 24, 'go': 27, 'bring': 8, 'down': 38, 'bear': 5, 'dress': 2, 'flesh': 1, 'cook': 3, 'fire': 10, 'used': 9, 'skins': 2, 'clothes': 14, 'shoes': 3, 'caps': 1, 'toil': 9, 'less': 4, 'turned': 10, 'after': 32, 'often': 10, 'owe': 1, 'hung': 7, 'skin': 3, 'shield': 1, 'cold': 4, 'pressed': 2, 'chill': 1, 'winds': 1, 'swept': 1, 'between': 10, 'logs': 6, 'hearth': 3, 'corncake': 1, 'baked': 1, 'bacon': 2, 'fried': 1, 'game': 6, 'front': 10, 'might': 27, 'brown': 1, 'crisp': 1, 'free': 32, 'taught': 6, 'lad': 5, 'lass': 1, 'gudeman': 1, 'himself': 11, 'truths': 1, 'sank': 3, 'due': 2, 'shoots': 1, 'size': 3, 'four': 12, 'better': 7, 'knob': 2, 'dug': 1, 'well': 31, 'cleared': 2, 'short': 6, 'patch': 2, 'hill': 2, 'stay': 5, 'year': 6, 'pluck': 1, 'keep': 16, 'mark': 3, 'called': 15, 'little': 12, 'mound': 1, 'loghouse': 1, 'rev': 1, 'david': 2, 'elkins': 2, 'through': 31, 'preach': 1, 'word': 15, 'god': 11, 'ways': 5, 'drew': 8, 'preacher': 1, 'fast': 5, 'ere': 18, 'teach': 2, 'spell': 1, 'class': 1, 'say': 22, 'fiveyearold': 1, 'stood': 17, 'head': 13, 'also': 13, 'road': 2, 'day': 44, 'hand': 17, 'string': 1, 'fish': 4, 'seven': 10, 'liked': 4, 'change': 3, 'suit': 4, 'move': 20, 'goods': 13, 'frail': 1, 'craft': 7, 'wares': 2, 'snags': 1, 'lost': 15, 'swam': 1, 'shore': 3, 'waters': 1, 'helped': 7, 'get': 22, 'bottom': 1, 'river': 24, 'boat': 7, 'floated': 1, 'ohio': 4, 'thompsons': 1, 'landing': 2, 'brought': 21, 'storehouse': 1, 'pigeon': 2, 'chose': 3, 'enter': 1, 'claim': 7, 'vincennes': 1, 'cool': 2, 'november': 2, 'horses': 3, 'friend': 16, 'loaned': 3, 'night': 16, 'slept': 2, 'beds': 3, 'pine': 2, 'twigs': 1, 'ate': 1, 'rifles': 1, 'cooking': 1, 'ford': 1, 'swim': 2, 'streams': 2, 'rain': 3, 'nice': 1, 'spend': 1, 'weeks': 9, 'wild': 3, 'acorns': 1, 'walnuts': 1, 'fat': 1, 'worm': 1, 'hooks': 1, 'wade': 1, 'brooks': 1, 'gather': 1, 'huge': 1, 'piles': 1, 'dried': 1, 'sound': 7, 'sleep': 4, 'save': 12, 'right': 34, 'dense': 4, 'piece': 1, 'timberland': 1, 'mile': 1, 'half': 11, 'spencer': 1, 'co': 1, 'halfface': 1, 'feet': 3, 'square': 2, 'windows': 2, 'chimney': 1, 'twelve': 4, 'months': 11, 'staid': 6, 'bit': 4, 'corn': 5, 'meal': 2, 'gristmill': 1, 'chief': 15, 'course': 8, 'fruits': 1, 'heaps': 1, 'dry': 3, 'means': 6, 'pegs': 1, 'wall': 2, 'eighth': 1, 'clad': 2, 'homespun': 1, 'garb': 2, 'part': 23, 'beasts': 5, 'cap': 1, 'coon': 1, 'tail': 1, 'axe': 4, 'wedge': 1, 'maul': 1, 'split': 6, 'rails': 4, 'drawn': 5, 'plant': 1, 'feed': 1, 'family': 4, 'hew': 1, 'timber': 1, 'house': 27, 'proud': 7, 'moved': 10, 'live': 10, 'sparrow': 2, 'mr': 47, 'sister': 1, 'dennis': 1, 'nephew': 1, 'brief': 6, 'illness': 2, 'many': 14, 'died': 8, 'mrs': 4, 'sick': 3, 'must': 47, 'bedside': 2, 'shall': 19, 'want': 6, 'heavenly': 1, 'stamp': 1, 'longer': 1, 'break': 4, 'mothers': 3, 'grave': 3, 'eat': 2, 'guests': 2, 'even': 10, 'fields': 1, 'husband': 1, 'coffin': 1, 'green': 2, 'lumber': 1, 'cut': 5, 'whipsaw': 1, 'buried': 1, 'clearing': 1, 'prayers': 3, 'hymns': 1, 'spoke': 18, 'tenyear': 1, 'wrote': 12, 'letter': 8, 'chance': 16, 'learn': 6, 'art': 2, 'led': 19, 'paper': 9, 'parson': 1, 'note': 8, 'sent': 27, 'loved': 3, 'full': 31, 'pity': 1, 'because': 5, 'regard': 1, 'noble': 1, 'woman': 3, 'rest': 9, 'journey': 2, 'passed': 10, 'stand': 10, 'longed': 1, 'hear': 7, 'sew': 1, 'brother': 1, 'bright': 12, 'cheer': 9, 'arithmetic': 1, 'sops': 1, 'fables': 1, 'slate': 2, 'shovel': 1, 'pencil': 2, 'charred': 1, 'stick': 2, 'bush': 1, 'johnston': 11, 'childrenjohn': 1, 'matilda': 1, 'fourhorse': 1, 'cart': 2, 'girls': 3, 'deal': 3, 'noise': 3, 'chairs': 2, 'bureau': 1, 'featherbeds': 1, 'neat': 1, 'loving': 1, 'care': 9, 'show': 7, 'hope': 5, 'need': 11, 'like': 19, 'weed': 1, 'grow': 4, 'six': 4, 'inches': 1, 'done': 22, 'midst': 4, 'scrapbook': 1, 'verse': 1, 'prose': 1, 'bits': 3, 'history': 3, 'sums': 3, 'print': 3, 'writing': 5, 'wished': 2, 'lie': 2, 'flat': 1, 'figure': 1, 'crawford': 2, 'book': 9, 'ought': 5, 'weems': 1, 'youth': 4, 'loan': 2, 'safe': 10, 'wet': 1, 'tale': 4, 'worked': 5, 'pulling': 1, 'fodder': 1, 'harm': 7, 'working': 1, 'fires': 1, 'chop': 1, 'wood': 6, 'tote': 1, 'water': 2, 'tend': 1, 'babies': 1, 'sorts': 2, 'chores': 1, 'mow': 1, 'reap': 1, 'sow': 1, 'plough': 1, 'earned': 4, 'filled': 2, 'nights': 4, 'rough': 2, 'blaze': 1, 'knots': 1, 'filling': 1, 'mind': 21, 'things': 20, 'tales': 3, 'sports': 1, 'money': 9, 'call': 8, 'seems': 4, 'looking': 1, 'thinking': 2, 'improve': 1, 'drove': 3, 'trunks': 4, 'glance': 1, 'boats': 3, 'asked': 21, 'steamer': 4, 'sat': 2, 'sculled': 1, 'board': 1, 'boatman': 2, 'lifted': 1, 'heavy': 1, 'deck': 1, 'steam': 1, 'instant': 1, 'sang': 2, 'passengers': 1, 'paid': 10, 'pocket': 3, 'silver': 1, 'halfdollar': 1, 'threw': 1, 'surprise': 2, 'think': 8, 'duty': 4, 'fathers': 4, 'feel': 6, 'send': 4, 'cargo': 2, 'load': 3, 'sure': 10, 'owner': 6, 'gentry': 2, 'trade': 2, 'sugarcoast': 1, 'tried': 11, 'kill': 3, 'rob': 1, 'sailors': 2, 'blows': 2, 'negroes': 1, 'cable': 1, 'weighed': 1, 'anchor': 3, 'past': 3, 'natchez': 1, 'town': 17, 'settled': 2, 'french': 1, 'louisiana': 1, 'houses': 3, 'form': 9, 'boatmen': 3, 'heard': 10, 'tongue': 1, 'plantations': 1, 'groups': 2, 'huts': 1, 'slaves': 23, 'odd': 1, 'sea': 4, 'seen': 9, 'quite': 5, 'same': 29, 'flatboats': 1, 'moored': 1, 'levees': 1, 'steamboats': 3, 'ships': 7, 'sailed': 2, 'over': 7, 'seas': 1, 'search': 4, 'gold': 1, 'sights': 1, 'places': 5, 'tribes': 1, 'climes': 1, 'why': 6, 'dull': 1, 'naught': 3, 'unrest': 1, 'wish': 18, 'push': 5, 'plane': 1, 'sort': 10, 'strike': 8, 'bide': 1, 'postmark': 1, 'decatur': 3, 'ill': 9, 'illinois': 23, 'trees': 2, 'oak': 2, 'gum': 1, 'elm': 1, 'creeks': 1, 'rivers': 1, 'plenty': 1, 'news': 13, 'another': 7, 'sickness': 1, 'auction': 1, 'vandoo': 1, 'sold': 5, 'hogs': 2, 'oxen': 1, 'persons': 1, 'halls': 3, 'mud': 3, 'cross': 2, 'freshets': 1, 'gad': 1, 'task': 6, 'stock': 2, 'thread': 1, 'pins': 1, 'sangamon': 4, 'acres': 1, 'fence': 3, 'swing': 2, 'whole': 10, 'won': 18, 'let': 16, 'spring': 5, 'warm': 3, 'job': 3, 'fences': 1, 'yard': 1, 'blue': 11, 'jeans': 2, 'pair': 3, 'trousers': 1, 'offutt': 4, 'trust': 10, 'sail': 1, 'fifty': 1, 'cents': 1, 'sum': 2, 'share': 4, 'sixty': 1, 'dollars': 2, 'sawmill': 1, 'sangamontown': 1, 'pork': 1, 'ran': 1, 'aground': 1, 'salem': 4, 'risk': 4, 'wreck': 2, 'cheered': 1, 'wise': 6, 'plan': 10, 'tears': 7, 'ever': 8, 'hit': 2, 'flung': 4, 'toward': 2, 'block': 1, 'st': 7, 'louis': 4, 'hewn': 2, 'cheat': 1, 'coins': 1, 'spanish': 1, 'exact': 1, 'figures': 1, 'fraction': 1, 'wrong': 6, 'ride': 2, 'low': 3, 'bad': 4, 'whip': 2, 'lesson': 2, 'pride': 3, 'grammar': 3, 'walk': 1, 'kirkhams': 1, 'box': 5, 'trash': 1, 'juice': 1, 'lines': 5, 'legs': 2, 'alone': 7, 'newspapers': 2, 'aloud': 1, 'themselves': 4, 'themes': 4, 'abrahams': 1, 'candidate': 3, 'post': 15, 'legislature': 4, 'election': 5, 'fight': 22, 'warpath': 1, 'hawk': 1, 'sought': 1, 'mens': 1, 'blood': 4, 'armed': 1, 'mob': 1, 'drill': 4, 'orders': 2, 'rules': 3, 'govern': 2, 'command': 4, 'apt': 1, 'jeer': 1, 'meant': 1, 'strict': 2, 'strayed': 1, 'pass': 3, 'cass': 1, 'whites': 1, 'redskins': 1, 'having': 5, 'seize': 2, 'forged': 1, 'spy': 1, 'death': 10, 'aid': 5, 'victim': 1, 'wrath': 2, 'firm': 5, 'length': 6, 'without': 12, 'enlisted': 1, 'private': 2, 'company': 1, 'speak': 10, 'whig': 4, 'political': 1, 'point': 13, 'fault': 4, 'queer': 3, 'laugh': 2, 'fun': 3, 'choice': 7, 'foes': 10, 'wait': 9, 'luck': 1, 'mean': 5, 'find': 10, 'funds': 4, 'debt': 2, 'partner': 2, 'source': 2, 'meantime': 1, 'chain': 4, 'rule': 2, 'spent': 4, 'grape': 2, 'vine': 2, 'doing': 5, 'u': 3, 's': 9, 'office': 9, 'letters': 2, 'hat': 2, 'mail': 2, 'bag': 1, 'breadth': 2, 'surveying': 2, 'mostly': 2, 'hours': 7, 'bar': 2, 'step': 4, 'wear': 2, 'turn': 4, 'theme': 8, 'taxes': 2, 'vote': 4, 'afraid': 1, 'fame': 5, 'rash': 3, 'boast': 2, 'try': 7, 'hide': 1, 'fact': 3, 'sometimes': 4, 'body': 1, 'toilworn': 1, 'hands': 17, 'backwoods': 2, 'flings': 1, 'jokes': 1, 'simple': 2, 'kindness': 2, 'lawmakers': 1, 'prairies': 1, 'pig': 3, 'stuck': 4, 'beast': 1, 'begging': 1, 'plainly': 5, 'unless': 6, 'horseman': 1, 'wearing': 1, 'bought': 5, 'jeers': 1, 'comrades': 2, 'horse': 8, 'pulled': 1, 'upon': 29, 'regret': 1, 'admitted': 1, 'member': 3, 'studies': 1, 'never': 9, 'letting': 1, 'mathematics': 1, 'astronomy': 1, 'rhetoric': 1, 'literature': 1, 'logic': 1, 'month': 1, 'week': 3, 'sake': 1, 'gains': 2, 'april': 12, 'rode': 8, 'owned': 2, 'saddle': 1, 'bags': 1, 'strapped': 1, 'steed': 1, 'joshua': 1, 'speeds': 1, 'bedstead': 1, 'bedding': 1, 'speed': 3, 'counted': 2, 'price': 1, 'ive': 2, 'doubt': 6, 'cheap': 1, 'christmas': 1, 'earn': 2, 'anything': 4, 'fail': 2, 'fear': 5, 'able': 4, 'needed': 2, 'none': 2, 'friendly': 4, 'storekeeper': 1, 'fix': 3, 'double': 1, 'stairs': 2, 'welcome': 2, 'saddlebags': 1, 'major': 4, 't': 1, 'stuart': 2, 'lawpartner': 1, 'fee': 9, 'october': 1, 'summer': 2, 'butter': 2, 'milk': 2, 'fruit': 1, 'eggs': 2, 'lived': 6, 'apart': 1, 'courts': 2, 'pick': 1, 'case': 7, 'lots': 1, 'dullest': 1, 'juryman': 1, 'only': 14, 'tender': 4, 'story': 1, 'circuit': 2, 'riding': 3, 'trips': 1, 'wind': 1, 'blown': 1, 'nest': 4, 'placed': 3, 'laughed': 2, 'jumped': 1, 'thats': 1, 'couldnt': 1, 'tonight': 1, 'habits': 1, 'speaker': 3, 'writer': 1, 'prized': 1, 'nine': 5, 'journal': 1, 'papers': 2, 'articles': 1, 'miss': 3, 'todd': 1, 'became': 1, 'harrison': 1, 'electoral': 2, 'ticket': 1, 'canvass': 1, 'chanced': 1, 'jack': 1, 'armstrong': 1, 'trouble': 2, 'murder': 1, 'dead': 6, 'hannah': 1, 'plead': 1, 'false': 1, 'truth': 5, 'views': 4, 'hold': 9, 'antijackson': 1, 'entry': 1, 'public': 8, 'ablest': 1, 'whigs': 2, 'congress': 7, 'sole': 1, 'sense': 4, 'mexico': 3, 'reward': 3, 'weight': 5, 'bill': 6, 'district': 1, 'columbia': 1, 'famed': 1, 'wilmot': 1, 'proviso': 1, 'hoped': 5, 'slavery': 23, 'territories': 2, 'gained': 4, 'followed': 2, 'democrats': 5, 'party': 16, 'giant': 2, 'making': 5, 'cases': 1, 'calm': 2, 'broken': 2, 'promise': 2, 'spread': 7, 'missouri': 6, 'kansas': 9, 'nebraska': 1, 'thrown': 1, 'aside': 1, 'homes': 3, 'roused': 1, 'rage': 2, 'enough': 5, 'cry': 5, 'halt': 2, 'talked': 6, 'sides': 11, 'formed': 5, 'willing': 1, 'speeches': 5, 'crowds': 7, 'speakers': 1, 'against': 16, 'showing': 1, 'injustice': 1, 'dared': 2, 'stain': 2, 'wiped': 1, 'divided': 2, 'itself': 1, 'cannot': 11, 'believe': 2, 'government': 5, 'endure': 2, 'expect': 3, 'dissolved': 1, 'fall': 10, 'cease': 2, 'become': 2, 'either': 3, 'opponents': 1, 'arrest': 1, 'further': 3, 'belief': 2, 'ultimate': 1, 'extinction': 1, 'advocates': 1, 'forward': 3, 'alike': 1, 'lawful': 1, 'statesold': 1, 'stir': 3, 'women': 3, 'senator': 3, 'retarded': 1, 'sentiments': 1, 'uttered': 1, 'decreed': 1, 'linked': 2, 'truthlet': 1, 'die': 3, 'advocacy': 1, 'cause': 21, 'justice': 3, 'defence': 2, 'century': 1, 'swung': 1, 'bread': 3, 'prize': 1, 'casts': 1, 'chances': 2, 'rise': 2, 'hour': 7, 'stands': 1, 'truest': 1, 'noblest': 1, 'saying': 2, 'youve': 2, 'ruined': 1, 'mistake': 1, 'arent': 1, 'sorry': 3, 'dont': 1, 'hadnt': 1, 'written': 6, 'answer': 4, 'draw': 1, 'pen': 3, 'across': 7, 'erase': 1, 'existence': 1, 'gift': 2, 'choose': 2, 'began': 8, 'deathshot': 1, 'however': 2, 'fierce': 5, 'struggle': 1, 'greatest': 2, 'questions': 1, 'nation': 11, 'talking': 5, 'wigwams': 1, 'buildings': 2, 'doors': 1, 'hall': 2, 'dinner': 2, 'angry': 3, 'answered': 1, 'scoff': 1, 'statements': 2, 'meeting': 4, 'outside': 4, 'real': 1, 'liberty': 5, 'connecticut': 1, 'hampshire': 1, 'rhode': 1, 'island': 2, 'pled': 1, 'struck': 5, 'appeared': 1, 'every': 3, 'among': 1, 'sight': 3, 'crowd': 7, 'loose': 2, 'frame': 1, 'tinge': 1, 'color': 1, 'seams': 1, 'marks': 1, 'deepset': 1, 'sadness': 3, 'seem': 4, 'ease': 1, 'eager': 2, 'faces': 1, 'greet': 2, 'ideas': 4, 'rose': 6, 'vein': 3, 'shone': 3, 'voice': 2, 'rang': 3, 'sway': 2, 'closing': 1, 'us': 14, 'faith': 3, 'makes': 3, 'dare': 1, 'understand': 3, 'visit': 5, 'waifs': 1, 'sabbath': 1, 'meet': 5, 'slums': 1, 'deeply': 1, 'touched': 1, 'childhood': 1, 'urged': 1, 'toes': 2, 'worn': 6, 'winter': 1, 'elbows': 1, 'shivered': 1, 'rulealways': 1, 'always': 4, 'follow': 3, 'somehow': 1, 'cries': 2, 'hearers': 1, 'songs': 1, 'hymnal': 1, 'teacher': 1, 'mission': 5, 'pease': 1, 'quiet': 3, 'tones': 1, 'elected': 2, 'helping': 3, 'republican': 8, 'stress': 1, 'politics': 1, 'active': 3, 'interest': 2, 'campaign': 5, 'freesoil': 1, 'editors': 2, 'stop': 4, 'spreading': 1, 'late': 1, 'trying': 2, 'unlike': 1, 'agree': 11, 'hedge': 1, 'divisions': 2, 'holding': 2, 'thousands': 4, 'ruins': 2, 'threats': 2, 'abuse': 1, 'sneers': 1, 'july': 6, 'moves': 4, 'june': 4, 'delegates': 1, 'philadelphia': 2, 'c': 8, 'fremont': 2, 'presidency': 3, 'explorer': 1, 'plains': 1, 'conquest': 1, 'california': 1, 'american': 2, 'knownothing': 1, 'expresident': 1, 'millard': 1, 'fillmore': 1, 'oer': 6, 'debate': 1, 'democratic': 2, 'cincinnati': 1, 'james': 3, 'buchanan': 8, 'nomination': 3, 'question': 4, 'minds': 3, 'millions': 2, 'fellowmen': 1, 'slavemarket': 1, 'force': 13, 'neer': 5, 'gods': 1, 'field': 4, 'speaking': 1, 'coming': 5, 'sun': 5, 'shine': 1, 'unrequited': 1, 'surely': 2, 'inaugural': 3, 'address': 7, 'ready': 6, 'seat': 3, 'supreme': 1, 'court': 7, 'highest': 1, 'judges': 8, 'decide': 2, 'dealt': 1, 'rights': 4, 'constitution': 3, 'steps': 4, 'forever': 2, 'settle': 2, 'vexatious': 1, 'roger': 1, 'b': 4, 'taney': 2, 'maryland': 4, 'surgeon': 1, 'dr': 2, 'emerson': 1, 'dred': 2, 'rock': 2, 'iowa': 1, 'snelling': 1, 'minnesota': 1, 'territory': 2, 'entitled': 1, 'common': 1, 'recognized': 2, 'property': 6, 'nothing': 3, 'blacks': 2, 'citizens': 2, 'decided': 3, 'unconstitutional': 1, 'legal': 3, 'showed': 1, 'cow': 1, 'upset': 1, 'whether': 2, 'founded': 1, 'curtis': 1, 'mclean': 1, 'veins': 1, 'stated': 1, 'unjust': 2, 'interests': 1, 'opened': 2, 'votes': 5, 'labor': 1, 'slaveholders': 2, 'vast': 7, 'numbers': 1, 'ballotboxes': 1, 'sets': 3, 'conventions': 1, 'topeka': 1, 'lecompton': 2, 'favor': 3, 'democrat': 2, 'differ': 1, 'leaders': 5, 'crushed': 1, 'power': 2, 'forgive': 1, 'lose': 1, 'reelection': 1, 'senate': 1, 'ally': 1, 'spirit': 2, 'harness': 1, 'spokenthe': 1, 'guidance': 1, 'needs': 1, 'risen': 1, 'lead': 6, 'national': 1, 'convention': 3, 'th': 8, 'propose': 2, 'blessed': 1, 'triumph': 1, 'unwise': 1, 'act': 7, 'pickett': 1, 'editor': 1, 'moment': 3, 'reply': 3, 'myself': 2, 'fit': 1, 'thanked': 3, 'matter': 3, 'seriously': 1, 'rival': 2, 'majority': 2, 'baltimore': 3, 'kansasnebraska': 1, 'breckinridge': 1, 'constitutional': 2, 'sections': 2, 'bell': 1, 'tennessee': 8, 'republicans': 1, 'nov': 3, 'result': 3, 'electors': 1, 'nearly': 4, 'million': 1, 'plurality': 2, 'colleges': 1, 'surged': 1, 'streets': 2, 'nominated': 1, 'cheers': 3, 'rent': 3, 'air': 5, 'cannon': 2, 'roared': 2, 'bonfires': 1, 'blazed': 1, 'homeward': 1, 'morning': 6, 'passenger': 1, 'car': 2, 'fastest': 1, 'engine': 1, 'central': 4, 'railroad': 3, 'rolled': 2, 'gentlemen': 1, 'wire': 1, 'eight': 6, 'oclock': 2, 'reached': 3, 'willie': 2, 'sitting': 1, 'laughing': 1, 'shouted': 2, 'hooray': 1, 'committee': 1, 'library': 2, 'lunch': 1, 'served': 1, 'wines': 1, 'sell': 1, 'shake': 3, 'remember': 4, 'stopped': 2, 'something': 2, 'im': 1, 'guest': 2, 'governor': 4, 'lady': 2, 'bonnet': 1, 'walked': 2, 'present': 1, 'wanting': 1, 'woollen': 1, 'stockings': 1, 'spun': 1, 'yarn': 1, 'knit': 1, 'socks': 2, 'pleased': 1, 'smile': 5, 'latitude': 1, 'longitude': 1, 'didnt': 1, 'sprung': 1, 'bringing': 1, 'gifts': 1, 'wishes': 1, 'linen': 1, 'duster': 1, 'desk': 4, 'pile': 1, 'inkstand': 1, 'shy': 1, 'peep': 1, 'jim': 1, 'mornings': 1, 'cane': 3, 'top': 2, 'touch': 2, 'plastering': 1, 'thus': 8, 'height': 4, 'stepped': 1, 'jims': 1, 'guess': 1, 'trains': 1, 'forelock': 1, 'prizes': 1, 'statehouse': 2, 'waited': 2, 'track': 2, 'ruin': 2, 'americans': 1, 'storm': 4, 'slowly': 3, 'burst': 2, 'throw': 1, 'ties': 2, 'bound': 6, 'senators': 1, 'posts': 2, 'until': 3, 'february': 1, 'cotton': 1, 'withdrawn': 1, 'higher': 2, 'members': 2, 'avail': 1, 'ahead': 3, 'trial': 2, 'issue': 1, 'battlefield': 4, 'advice': 2, 'plans': 7, 'silent': 2, 'lighter': 1, 'mirth': 1, 'incidents': 1, 'business': 2, 'gazed': 1, 'kindly': 1, 'dearly': 1, 'badly': 1, 'smiles': 1, 'slips': 1, 'ink': 1, 'autumn': 1, 'shores': 1, 'lake': 2, 'erie': 1, 'portrait': 1, 'picture': 2, 'logcabin': 1, 'beard': 1, 'pleasing': 2, 'knowing': 2, 'hon': 1, 'esq': 1, 'bedell': 3, 'whiskers': 3, 'rail': 1, 'around': 3, 'busy': 1, 'childs': 1, 'receipt': 3, 'agreeable': 1, 'daughter': 1, 'seventeen': 1, 'silly': 1, 'begin': 2, 'closed': 2, 'sincere': 1, 'wellwisher': 1, 'goodbye': 2, 'stepmother': 2, 'indeed': 3, 'reared': 1, 'feared': 1, 'again': 8, 'clung': 2, 'breaking': 1, 'lord': 3, 'bade': 1, 'farewell': 1, 'snow': 1, 'falling': 1, 'rear': 3, 'train': 3, 'station': 3, 'bare': 1, 'heads': 1, 'affected': 1, 'westfield': 1, 'calling': 2, 'kissed': 1, 'rushed': 2, 'abroad': 1, 'hearts': 8, 'hate': 2, 'enforce': 1, 'together': 6, 'planned': 1, 'angels': 1, 'thee': 2, 'thy': 1, 'fourth': 2, 'platform': 1, 'capitol': 5, 'oath': 3, 'hush': 2, 'throng': 4, 'solemnly': 1, 'swear': 1, 'faithfully': 1, 'execute': 1, 'ability': 1, 'preserve': 3, 'protect': 3, 'defend': 1, 'salute': 1, 'loyal': 2, 'wayward': 1, 'destroy': 3, 'sworn': 2, 'vicepresident': 1, 'guns': 8, 'postoffices': 1, 'navy': 6, 'confederate': 2, 'presidents': 5, 'thoughts': 3, 'paced': 1, 'declare': 1, 'blow': 3, 'twelfth': 1, 'charleston': 4, 'harbor': 2, 'flag': 8, 'sumter': 3, 'sounded': 1, 'hot': 2, 'shame': 1, 'degrade': 1, 'countrys': 1, 'cried': 2, 'tis': 1, 'drop': 1, 'trades': 1, 'fly': 1, 'pickens': 1, 'balcony': 1, 'hotel': 1, 'thank': 1, 'open': 2, 'conquer': 1, 'perish': 2, 'defeated': 1, 'twenty': 1, 'humbled': 1, 'stars': 5, 'stripes': 4, 'wept': 2, 'worst': 1, 'cabinet': 7, 'quell': 1, 'number': 5, 'parties': 1, 'n': 3, 'p': 2, 'trend': 1, 'sixth': 1, 'regiment': 4, 'drum': 1, 'beats': 1, 'haste': 6, 'stake': 1, 'uphold': 1, 'gladly': 1, 'blame': 1, 'loath': 1, 'generals': 5, 'unwilling': 1, 'doctrine': 1, 'burned': 2, 'bridges': 1, 'railroads': 2, 'leading': 1, 'reach': 2, 'guard': 4, 'treasury': 1, 'helm': 1, 'pilot': 1, 'ship': 2, 'awful': 1, 'possession': 2, 'cairo': 3, 'prompt': 1, 'keeping': 3, 'checked': 1, 'capital': 1, 'montgomery': 1, 'ala': 1, 'va': 1, 'capitals': 1, 'northern': 1, 'volunteers': 7, 'press': 1, 'loud': 2, 'movement': 1, 'gen': 29, 'commanderinchief': 1, 'slow': 3, 'loss': 9, 'theirs': 1, 'mcdowell': 2, 'towards': 2, 'gens': 1, 'joseph': 1, 'e': 23, 'beauregard': 2, 'sharp': 2, 'fresh': 3, 'fled': 7, 'sherman': 11, 'colonel': 2, 'valuable': 1, 'brigadier': 1, 'please': 4, 'politicians': 1, 'yielded': 1, 'clamor': 1, 'begun': 1, 'defeat': 1, 'patterson': 1, 'failed': 2, 'officer': 1, 'mcclellan': 15, 'easy': 2, 'organize': 1, 'getting': 2, 'september': 1, 'clearly': 2, 'master': 1, 'proved': 2, 'schemes': 1, 'foreign': 1, 'rulers': 2, 'win': 8, 'carry': 2, 'strife': 2, 'eye': 1, 'depend': 1, 'mcclellans': 2, 'hordes': 4, 'halleck': 3, 'buell': 5, 'ulysses': 1, 'galena': 1, 'hides': 1, 'broke': 3, 'asking': 1, 'brigadiergeneral': 1, 'polk': 1, 'memphis': 1, 'bluffs': 1, 'columbus': 3, 'confederates': 1, 'paducah': 4, 'worth': 2, 'passing': 1, 'greatly': 1, 'surprised': 1, 'fleet': 3, 'wharf': 2, 'natives': 1, 'quay': 1, 'grants': 9, 'hunters': 1, 'strove': 1, 'unity': 1, 'action': 1, 'menace': 1, 'bowling': 1, 'order': 3, 'commanders': 1, 'donothings': 1, 'eastern': 2, 'georgia': 4, 'texas': 1, 'jail': 1, 'distress': 1, 'wouldnt': 1, 'patient': 2, 'stroke': 1, 'commodore': 1, 'foote': 2, 'above': 2, 'com': 1, 'd': 2, 'runs': 1, 'stiff': 1, 'prisoners': 2, 'cares': 1, 'lot': 3, 'hardest': 1, 'pray': 2, 'today': 1, 'sorrow': 2, 'childlike': 1, 'ago': 2, 'style': 1, 'hampton': 2, 'roads': 2, 'lay': 5, 'rammed': 1, 'secretary': 2, 'welles': 1, 'raise': 3, 'hull': 2, 'merrimac': 3, 'hurt': 2, 'sunk': 1, 'norfolk': 1, 'cover': 1, 'iron': 6, 'vessel': 2, 'assistantsecy': 1, 'gustavus': 1, 'fox': 2, 'important': 2, 'plating': 1, 'vessels': 1, 'foot': 1, 'ironclads': 2, 'capt': 2, 'ericsson': 1, 'model': 1, 'ironclad': 1, 'turret': 1, 'ericssons': 2, 'monitor': 2, 'crush': 2, 'midnight': 1, 'scene': 5, 'bank': 4, 'vex': 1, 'pittsburg': 1, 'twice': 2, 'bold': 2, 'dash': 2, 'dire': 1, 'flames': 2, 'admiral': 3, 'butler': 1, 'fights': 7, 'losses': 2, 'crops': 1, 'bravely': 1, 'dislike': 1, 'border': 1, 'sailing': 1, 'en': 2, 'seized': 2, 'teamsters': 1, 'within': 7, 'authority': 1, 'submitted': 1, 'maintained': 1, 'thenceforward': 1, 'draft': 4, 'seward': 1, 'ripe': 2, 'least': 1, 'strokes': 1, 'peninsular': 1, 'twixt': 4, 'forms': 1, 'peninsula': 2, 'fighting': 2, 'withdraw': 1, 'match': 1, 'stonewall': 1, 'pope': 2, 'august': 2, 'sept': 4, 'sharpsburg': 1, 'severe': 1, 'withdrew': 1, 'hopes': 2, 'victory': 3, 'freeing': 1, 'solemn': 1, 'vow': 1, 'driven': 3, 'crown': 1, 'declaration': 1, 'burnside': 2, 'rappahannock': 2, 'fredericksburg': 1, 'heights': 2, 'dec': 1, 'hooker': 4, 'below': 4, 'batteries': 2, 'middle': 1, 'marched': 5, 'crossed': 1, 'port': 5, 'gibson': 1, 'foreguard': 1, 'pembertons': 1, 'beat': 3, 'pemberton': 1, 'champion': 1, 'hills': 1, 'flee': 1, 'safety': 1, 'siege': 3, 'crust': 1, 'takes': 2, 'thirty': 1, 'flags': 2, 'filed': 1, 'stacked': 1, 'logans': 1, 'corps': 1, 'flew': 3, 'thanks': 3, 'hudson': 2, 'rebel': 1, 'yield': 1, 'hauled': 2, 'bars': 1, 'starspangled': 1, 'banner': 2, 'breeze': 3, 'roadway': 1, 'unarmed': 1, 'chancellorsville': 1, 'recrossed': 1, 'hookers': 2, 'g': 1, 'meade': 6, 'breath': 1, 'prove': 1, 'chambersburg': 1, 'stuarts': 1, 'passes': 1, 'western': 1, 'crossing': 2, 'armies': 3, 'facing': 1, 'cemetery': 2, 'meades': 2, 'buford': 1, 'forced': 2, 'moonlight': 1, 'trim': 1, 'courage': 1, 'carried': 1, 'works': 40, 'ends': 1, 'centre': 1, 'pointed': 1, 'thrust': 1, 'lives': 2, 'saved': 2, 'rapidan': 1, 'flank': 1, 'flashed': 1, 'wires': 1, 'anxiety': 1, 'fate': 1, 'prayed': 1, 'almighty': 1, 'pledge': 1, 'knees': 1, 'feeling': 1, 'serene': 1, 'confidence': 1, 'turning': 1, 'bragg': 3, 'rosecrans': 5, 'h': 1, 'fighter': 1, 'skill': 2, 'wing': 1, 'besieged': 1, 'braggs': 3, 'climb': 3, 'mist': 1, 'orchard': 1, 'base': 1, 'shadow': 1, 'rays': 1, 'steep': 1, 'waving': 1, 'retired': 1, 'alabama': 1, 'resting': 3, 'consecrated': 2, 'edward': 1, 'everett': 1, 'oration': 1, 'stray': 1, 'cars': 1, 'continent': 1, 'conceived': 2, 'dedicated': 3, 'proposition': 1, 'created': 3, 'equal': 1, 'engaged': 1, 'testing': 1, 'dedicate': 1, 'portion': 1, 'final': 1, 'altogether': 1, 'fitting': 1, 'proper': 1, 'larger': 2, 'dedicatewe': 1, 'consecratewe': 1, 'hallow': 1, 'living': 3, 'struggled': 1, 'add': 1, 'detract': 1, 'forget': 1, 'rather': 1, 'remaining': 2, 'usthat': 1, 'honored': 1, 'increased': 1, 'devotion': 3, 'measure': 1, 'highly': 1, 'resolve': 1, 'vain': 1, 'birth': 1, 'lieutenant': 1, 'wilderness': 1, 'spottsylvania': 1, 'nearer': 1, 'sending': 2, 'pushed': 1, 'outflanked': 1, 'matched': 1, 'petersburg': 7, 'stores': 1, 'trenches': 1, 'crowded': 1, 'round': 2, 'kiss': 1, 'scale': 1, 'sheridan': 5, 'winchester': 1, 'fishers': 1, 'barns': 1, 'grain': 1, 'moving': 1, 'lonepath': 1, 'asleep': 1, 'sheridans': 2, 'cedar': 1, 'shout': 1, 'tide': 1, 'scenes': 1, 'mobile': 2, 'direct': 2, 'maintop': 1, 'hartford': 1, 'bay': 1, 'december': 1, 'doom': 1, 'grip': 1, 'hood': 2, 'burning': 1, 'refuge': 1, 'ropes': 1, 'quaint': 1, 'isnt': 1, 'swap': 1, 'portico': 1, 'cloud': 1, 'inauguration': 1, 'gloom': 1, 'brighter': 1, 'era': 1, 'praised': 1, 'dwell': 1, 'soul': 1, 'poured': 1, 'woes': 1, 'join': 3, 'weak': 2, 'lack': 1, 'drama': 1, 'wilmington': 1, 'risks': 1, 'outnumbered': 1, 'tack': 1, 'stormed': 2, 'appomattox': 4, 'weitzel': 2, 'catch': 1, 'starved': 2, 'wornout': 1, 'chase': 1, 'flanks': 1, 'lips': 1, 'chiefs': 1, 'shook': 2, 'sign': 1, 'signed': 1, 'rebellion': 1, 'modern': 1, 'confederacy': 1, 'pieces': 1, 'pomp': 1, 'headquarters': 1, 'queen': 1, 'landed': 1, 'libby': 2, 'prison': 4, 'guide': 1, 'greeted': 2, 'race': 1, 'porter': 1, 'behind': 1, 'raised': 1, 'unkind': 1, 'therethe': 1, 'bravest': 1, 'mart': 1, 'cells': 1, 'grates': 1, 'shackles': 1, 'auctionblock': 1, 'driver': 1, 'morn': 2, 'burn': 1, 'bridge': 1, 'roofs': 1, 'household': 1, 'stacks': 1, 'tables': 1, 'piled': 1, 'fright': 1, 'ashes': 1, 'coach': 1, 'faced': 1, 'minister': 1, 'giving': 1, 'blessing': 1, 'minute': 1, 'judge': 2, 'campbell': 1, 'idea': 1, 'fortress': 1, 'monroe': 1, 'weary': 2, 'pain': 1, 'beloved': 1, 'friday': 1, 'surrender': 1, 'anderson': 2, 'royal': 1, 'prayer': 2, 'beauty': 1, 'sing': 1, 'hymn': 2, 'star': 1, 'spangled': 1, 'robert': 2, 'patriot': 1, 'ward': 1, 'beecher': 1, 'orations': 1, 'thrilled': 1, 'staff': 2, 'breakfast': 1, 'colfax': 1, 'm': 1, 'revolt': 1, 'moments': 1, 'darkness': 1, 'test': 1, 'heal': 1, 'wounds': 1, 'bells': 2, 'evening': 1, 'gladness': 1, 'knot': 2, 'arch': 1, 'play': 2, 'drive': 1, 'afternoon': 1, 'throngs': 1, 'bowed': 2, 'smiled': 1, 'fords': 2, 'theatre': 1, 'seeing': 1, 'played': 2, 'hail': 1, 'smiling': 1, 'curtain': 1, 'pistols': 1, 'report': 1, 'leap': 1, 'stage': 1, 'knife': 1, 'latin': 1, 'sic': 1, 'semper': 1, 'tyrannis': 1, 'tyrants': 1, 'surgeons': 1, 'street': 1, 'dawn': 1, 'lamps': 1, 'dim': 1, 'pulse': 1, 'avenge': 1, 'besides': 1, 'wound': 1, 'plot': 1, 'foul': 1, 'tragic': 1, 'aghast': 1, 'awe': 1, 'tolled': 1, 'funeral': 1, 'procession': 1, 'escort': 1, 'stilled': 1, 'admirals': 1, 'statesmen': 1, 'tomb': 1, 'precious': 1, 'dust': 1, 'stopping': 1, 'cities': 1, 'service': 2, 'notes': 2, 'sympathy': 1, 'wreaths': 1, 'bier': 1, 'uncrowned': 1, 'toiling': 1, 'bleeding': 1, 'dreadful': 1, 'reign': 1, 'worlds': 1, 'revering': 1, 'dying': 1, 'transcribers': 1, 'text': 1, 'italics': 2, 'enclosed': 1, 'underscores': 1, 'provided': 5, 'convenience': 1, 'reader': 1, 'punctuation': 1, 'spelling': 2, 'inaccuracies': 1, 'silently': 2, 'corrected': 2, 'archaic': 1, 'variable': 1, 'preserved': 1, 'hyphenation': 1, 'single': 1, 'multiplesyllable': 1, 'necessary': 1, 'nature': 1, 'gutenbergs': 1, 'txt': 1, 'zip': 1, 'associated': 8, 'files': 2, 'various': 1, 'formats': 2, 'httpwwwgutenbergorg': 1, 'updated': 1, 'editions': 4, 'replace': 1, 'previous': 1, 'onethe': 1, 'renamed': 1, 'creating': 4, 'protected': 5, 'owns': 2, 'foundation': 22, 'distribute': 6, 'permission': 7, 'paying': 2, 'royalties': 2, 'special': 1, 'apply': 1, 'copying': 4, 'distributing': 7, 'gutenbergtm': 56, 'electronic': 27, 'concept': 2, 'trademark': 11, 'registered': 2, 'ebooks': 7, 'receive': 3, 'specific': 1, 'copies': 7, 'complying': 3, 'purpose': 2, 'creation': 1, 'derivative': 3, 'reports': 1, 'performances': 1, 'research': 2, 'modified': 1, 'awayyou': 1, 'practically': 1, 'redistribution': 2, 'subject': 1, 'especially': 1, 'commercial': 1, 'promoting': 2, 'distribution': 6, 'phrase': 4, 'comply': 6, 'wwwgutenbergorglicense': 1, 'section': 7, 'redistributing': 2, 'indicate': 1, 'accept': 1, 'intellectual': 2, 'trademarkcopyright': 1, 'agreement': 18, 'abide': 1, 'obtaining': 2, 'access': 10, 'obtain': 3, 'refund': 10, 'person': 4, 'entity': 3, 'paragraph': 11, 'future': 3, 'literary': 13, 'archive': 13, 'pglaf': 1, 'compilation': 1, 'collection': 4, 'individual': 4, 'domain': 2, 'unprotected': 1, 'prevent': 1, 'performing': 3, 'displaying': 4, 'based': 2, 'references': 2, 'removed': 2, 'support': 4, 'freely': 4, 'sharing': 1, 'compliance': 5, 'easily': 1, 'format': 4, 'attached': 1, 'countries': 1, 'constant': 1, 'addition': 1, 'downloading': 1, 'representations': 1, 'concerning': 2, 'status': 4, 'following': 3, 'sentence': 2, 'links': 3, 'immediate': 2, 'appear': 1, 'prominently': 2, 'whenever': 1, 'appears': 1, 'accessed': 1, 'displayed': 1, 'performed': 1, 'viewed': 1, 'copied': 2, 'derived': 1, 'texts': 1, 'contain': 2, 'notice': 3, 'indicating': 1, 'posted': 4, 'holder': 4, 'fees': 4, 'charges': 1, 'providing': 4, 'appearing': 1, 'requirements': 4, 'paragraphs': 3, 'additional': 4, 'imposed': 1, 'beginning': 1, 'unlink': 1, 'detach': 1, 'remove': 1, 'containing': 1, 'display': 1, 'perform': 1, 'redistribute': 1, 'convert': 1, 'binary': 1, 'compressed': 1, 'marked': 2, 'nonproprietary': 1, 'proprietary': 1, 'including': 8, 'processing': 1, 'hypertext': 1, 'provide': 7, 'vanilla': 2, 'ascii': 2, 'official': 3, 'version': 1, 'web': 5, 'site': 4, 'expense': 1, 'user': 3, 'exporting': 1, 'request': 1, 'original': 1, 'alternate': 1, 'include': 1, 'specified': 2, 'viewing': 1, 'reasonable': 1, 'royalty': 3, 'gross': 1, 'profits': 1, 'derive': 1, 'calculated': 1, 'method': 1, 'already': 1, 'calculate': 1, 'applicable': 3, 'owed': 1, 'agreed': 1, 'donate': 3, 'payments': 3, 'prepare': 2, 'legally': 1, 'required': 1, 'periodic': 1, 'tax': 6, 'returns': 1, 'information': 9, 'donations': 15, 'notifies': 1, 'email': 3, 'require': 1, 'possessed': 1, 'physical': 2, 'medium': 5, 'discontinue': 1, 'accordance': 2, 'f': 11, 'replacement': 5, 'defect': 3, 'discovered': 1, 'reported': 1, 'different': 1, 'llc': 1, 'contact': 4, 'employees': 2, 'expend': 1, 'considerable': 2, 'effort': 2, 'identify': 1, 'transcribe': 1, 'proofread': 1, 'despite': 1, 'efforts': 3, 'stored': 1, 'defects': 1, 'limited': 5, 'incomplete': 1, 'inaccurate': 1, 'corrupt': 1, 'data': 1, 'transcription': 1, 'errors': 1, 'infringement': 1, 'defective': 3, 'damaged': 1, 'disk': 1, 'computer': 2, 'virus': 1, 'codes': 1, 'damage': 2, 'equipment': 3, 'warranty': 2, 'disclaimer': 3, 'damages': 4, 'except': 3, 'described': 1, 'disclaim': 1, 'liability': 3, 'costs': 2, 'expenses': 2, 'remedies': 1, 'negligence': 1, 'breach': 2, 'contract': 1, 'distributor': 1, 'liable': 1, 'actual': 1, 'indirect': 1, 'consequential': 1, 'punitive': 1, 'incidental': 1, 'possibility': 1, 'discover': 1, 'receiving': 1, 'explanation': 2, 'received': 5, 'elect': 1, 'lieu': 2, 'electronically': 2, 'opportunity': 1, 'demand': 1, 'opportunities': 1, 'problem': 1, 'asis': 1, 'warranties': 3, 'express': 1, 'implied': 2, 'merchantability': 1, 'fitness': 1, 'allow': 1, 'disclaimers': 1, 'certain': 2, 'exclusion': 1, 'limitation': 3, 'types': 1, 'violates': 1, 'interpreted': 1, 'maximum': 1, 'permitted': 2, 'invalidity': 1, 'unenforceability': 1, 'provision': 1, 'void': 1, 'provisions': 1, 'indemnity': 1, 'indemnify': 1, 'agent': 1, 'employee': 1, 'production': 1, 'promotion': 1, 'harmless': 1, 'arise': 1, 'directly': 1, 'indirectly': 1, 'occur': 1, 'alteration': 1, 'modification': 1, 'additions': 1, 'deletions': 1, 'synonymous': 1, 'readable': 2, 'widest': 2, 'variety': 1, 'computers': 2, 'obsolete': 1, 'middleaged': 1, 'exists': 1, 'hundreds': 1, 'walks': 1, 'financial': 1, 'assistance': 1, 'critical': 1, 'reaching': 1, 'gutenbergtms': 1, 'goals': 1, 'ensuring': 1, 'remain': 1, 'generations': 2, 'secure': 1, 'permanent': 1, 'page': 2, 'non': 1, 'profit': 1, 'educational': 1, 'corporation': 1, 'organized': 1, 'granted': 1, 'exempt': 2, 'internal': 1, 'revenue': 1, 'foundations': 3, 'ein': 1, 'federal': 2, 'identification': 1, 'contributions': 2, 'deductible': 1, 'extent': 1, 'principal': 1, 'fairbanks': 2, 'alaska': 1, 'mailing': 1, 'po': 1, 'ak': 1, 'scattered': 1, 'throughout': 1, 'numerous': 1, 'locations': 2, 'salt': 1, 'ut': 1, 'wwwgutenbergorgcontact': 1, 'gregory': 1, 'newby': 1, 'executive': 1, 'director': 1, 'gbnewbypglaforg': 1, 'depends': 1, 'survive': 1, 'wide': 1, 'increasing': 1, 'licensed': 1, 'machine': 1, 'accessible': 1, 'array': 1, 'outdated': 1, 'particularly': 1, 'maintaining': 1, 'irs': 1, 'committed': 1, 'regulating': 1, 'charities': 1, 'charitable': 1, 'uniform': 1, 'paperwork': 1, 'solicit': 2, 'confirmation': 1, 'determine': 1, 'particular': 2, 'wwwgutenbergorgdonate': 2, 'solicitation': 1, 'prohibition': 1, 'accepting': 1, 'unsolicited': 1, 'donors': 1, 'approach': 1, 'offers': 1, 'international': 1, 'gratefully': 1, 'accepted': 2, 'treatment': 1, 'swamp': 1, 'pages': 1, 'current': 1, 'donation': 1, 'methods': 1, 'addresses': 1, 'checks': 1, 'credit': 1, 'card': 1, 'professor': 1, 'michael': 1, 'hart': 1, 'originator': 1, 'shared': 1, 'forty': 1, 'network': 1, 'volunteer': 1, 'several': 1, 'confirmed': 1, 'necessarily': 1, 'edition': 1, 'main': 1, 'pg': 1, 'facility': 1, 'includes': 1, 'produce': 1, 'subscribe': 1, 'newsletter': 1}\n" 314 | ] 315 | } 316 | ], 317 | "source": [] 318 | }, 319 | { 320 | "cell_type": "markdown", 321 | "metadata": {}, 322 | "source": [ 323 | "If you have done everything correctly, your word cloud image should appear after running the cell below. Fingers crossed!" 324 | ] 325 | }, 326 | { 327 | "cell_type": "code", 328 | "execution_count": 28, 329 | "metadata": {}, 330 | "outputs": [ 331 | { 332 | "data": { 333 | "image/png": "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\n", 334 | "text/plain": [ 335 | "
" 336 | ] 337 | }, 338 | "metadata": { 339 | "needs_background": "light" 340 | }, 341 | "output_type": "display_data" 342 | } 343 | ], 344 | "source": [ 345 | "# Display your wordcloud image\n", 346 | "\n", 347 | "myimage = calculate_frequencies(file_contents)\n", 348 | "plt.imshow(myimage, interpolation = 'nearest')\n", 349 | "plt.axis('off')\n", 350 | "plt.show()" 351 | ] 352 | }, 353 | { 354 | "cell_type": "markdown", 355 | "metadata": {}, 356 | "source": [ 357 | "If your word cloud image did not appear, go back and rework your `calculate_frequencies` function until you get the desired output. Definitely check that you passed your frequecy count dictionary into the `generate_from_frequencies` function of `wordcloud`. Once you have correctly displayed your word cloud image, you are all done with this project. Nice work!" 358 | ] 359 | } 360 | ], 361 | "metadata": { 362 | "coursera": { 363 | "course_slug": "python-crash-course", 364 | "graded_item_id": "Z5d28", 365 | "launcher_item_id": "eSjyd" 366 | }, 367 | "kernelspec": { 368 | "display_name": "Python 3", 369 | "language": "python", 370 | "name": "python3" 371 | }, 372 | "language_info": { 373 | "codemirror_mode": { 374 | "name": "ipython", 375 | "version": 3 376 | }, 377 | "file_extension": ".py", 378 | "mimetype": "text/x-python", 379 | "name": "python", 380 | "nbconvert_exporter": "python", 381 | "pygments_lexer": "ipython3", 382 | "version": "3.6.7" 383 | }, 384 | "widgets": { 385 | "application/vnd.jupyter.widget-state+json": { 386 | "state": {}, 387 | "version_major": 2, 388 | "version_minor": 0 389 | } 390 | } 391 | }, 392 | "nbformat": 4, 393 | "nbformat_minor": 2 394 | } 395 | --------------------------------------------------------------------------------