1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
a_sh-v [17]
3 years ago
5

Write a program that first reads in the name of an input file and then reads the file using the csv.reader() method. The file co

ntains a list of words separated by commas. Your program should output the words and their frequencies (the number of times each word appears in the file) without any duplicates.

Computers and Technology
1 answer:
DaniilM [7]3 years ago
3 0

Answer:

Here is the Python code.

import csv  

inputfile = input("Enter name of the file: ")

count = {}

with open(inputfile, 'r') as csvfile:

 csvfile = csv.reader(csvfile)

 for line in csvfile:

   for words in line:

     if words not in count.keys():

       count[words] = 1

     else:

         count[words] + 1

   print(count)

Explanation:

I will explain the code line by line.

import csv   here the css is imported in order to read the file using csv.reader() method

inputfile = input("Enter name of the file: ")  This statement takes the name of the input file from the user

count = {}  this is basically a dictionary which will store the words in the file and the number of times each word appears in the file.

with open(inputfile, 'r') as csvfile:  This statement opens the inputfile using open() method in read mode. This basically opens the input file as csv type

 csvfile = csv.reader(csvfile)  This statement uses csv.reader() method to read the csv file contents.

for line in csvfile:  This outer for loop iterates through each line of the file

for words in line:  This inner loop iterates through each word in the line

if words not in count.keys():  This if condition checks if the word is not in the dictionary already. The dictionary holds key value pair and keys() method returns a list of all the keys of dictionary

count[words] = 1  if the word is not present already then assign 1 to the count dictionary

co unt[words] + 1 if the word is already present in dictionary increment count of the words by 1. Suppose the input file contains the following words:

hello,cat,man,hey,dog,boy,Hello,man,cat,woman,dog,Cat,hey,boy

Then because of co unt[words] + 1 statement if the word appears more than once in the file, then it will not be counted. So the output will be:

{' cat': 1, ' man': 1, ' dog': 1, ' woman': 1, ' Hello': 1, ' hey': 1, ' boy': 1, 'hello': 1, ' Cat': 1}

But if you want the program to count those words also in the file that appear more than once, then change this co unt[words] + 1 statement to:  

count[words] = count[words] + 1

So if the word is already present in the file its frequency is increased by 1 by incrementing 1 to the count[words]. This will produce the following output:

{' Cat': 1, ' cat': 2, ' boy': 2, ' woman': 1, ' dog': 2, ' hey': 2, ' man': 2, ' Hello': 1, 'hello': 1}  

You can see that cat, boy, dog and hey appear twice in the file.                    

print(count) This statement prints the dictionary contents with words and their frequencies.

The program with its output is attached.

You might be interested in
Typically, what form do most database designers consider a database structure to be normalized?
klemol [59]
Hello,

Answer is Third 

Hope This Help!!!
6 0
3 years ago
You don't have to answer them all, just give me 2 or 3. Thanks
frozen [14]

Answer:

5. iOS and Android are some popular OS’.

Explanation:

4 0
3 years ago
Name three technologies that begin with the same letter of the alphabet
qaws [65]
Active-Matrix 
Applet
ATM
8 0
4 years ago
Read 2 more answers
In access, the columns in a table are called?
liubo4ka [24]
All tables are composed of horizontal rows and vertical columns, with small rectangles called cells in the places where rows and columns intersect. In Access, rows and columns are referred to as records and fields. A field is a way of organizing information by type.
6 0
3 years ago
Why are video games addictive????<br> please write at least 3 reasons
timurjin [86]
It’s many people’s hobby
It gives a sense of adrenaline
You will try on and on to win or finish the mission
5 0
4 years ago
Other questions:
  • Which of these expressions is used to check whether num is equal to value?
    12·1 answer
  • In one sentences describe how to change your home page
    10·1 answer
  • An art board on which text and graphics are pasted is known as a __?
    12·1 answer
  • consider a group of 30 people who wish to establish pair-wise secure communications using symmetric-key cryptography. How many K
    15·1 answer
  • Write a MATLAB script that prompts the user to input the following array by providing an example in the prompt: [2 4;6 3;5 9]. C
    15·1 answer
  • The entress Effie cooks as a chef never vary by taste, quantity or quality
    6·1 answer
  • What tab on the ribbon do I go into to create new database objects in Access?
    13·1 answer
  • Explain why it is important that software products are developed and delivered quickly. Why is it sometimes sensible to deliver
    14·1 answer
  • Which audio media can be directly sent to the subscribers through an RSS feed?
    6·1 answer
  • Based on Microsoft's Component Object Model (COM), _____ is database middleware that adds object-oriented functionality for acce
    11·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!