Skip to content

Instantly share code, notes, and snippets.

@fdb
Created March 7, 2018 20:07
Show Gist options
  • Save fdb/1c7234fb49757df588c1302f44f0f125 to your computer and use it in GitHub Desktop.
Save fdb/1c7234fb49757df588c1302f44f0f125 to your computer and use it in GitHub Desktop.
Counting Words with Python 3
import csv
import string
translator = str.maketrans('', '', string.punctuation)
word_count = {}
text = open('declaration.txt').read()
words = text.split()
for word in words:
word = word.translate(translator).lower()
count = word_count.get(word, 0)
count += 1
word_count[word] = count
word_count_list = sorted(word_count, key=word_count.get, reverse=True)
for word in word_count_list[:10]:
print(word, word_count[word])
output_file = open('words.csv', 'w')
writer = csv.writer(output_file)
writer.writerow(['word', 'count'])
for word in word_count_list:
writer.writerow([word, word_count[word]])
When in the Course of human events, it becomes necessary for
one people to dissolve the political bands which have connected
them with another, and to assume, among the Powers of the earth,
the separate and equal station to which the Laws of Nature and
of Nature's God entitle them, a decent respect to the opinions
of mankind requires that they should declare the causes which
impel them to the separation.
We hold these truths to be self-evident, that all men are created equal,
that they are endowed by their Creator with certain unalienable Rights,
that among these are Life, Liberty, and the pursuit of Happiness.
That to secure these rights, Governments are instituted among Men,
deriving their just powers from the consent of the governed,
That whenever any Form of Government becomes destructive of these ends,
it is the Right of the People to alter or to abolish it, and to institute
new Government, laying its foundation on such principles and organizing
its powers in such form, as to them shall seem most likely to effect
their Safety and Happiness. Prudence, indeed, will dictate that Governments
long established should not be changed for light and transient causes;
and accordingly all experience hath shown, that mankind are more disposed
to suffer, while evils are sufferable, than to right themselves by abolishing
the forms to which they are accustomed. But when a long train of abuses and
usurpations, pursuing invariably the same Object evinces a design to reduce
them under absolute Despotism, it is their right, it is their duty, to throw
off such Government, and to provide new Guards for their future security.
--Such has been the patient sufferance of these Colonies; and such is now
the necessity which constrains them to alter their former Systems of Government.
The history of the present King of Great Britain is a history of repeated
injuries and usurpations, all having in direct object the establishment
of an absolute Tyranny over these States. To prove this, let Facts
be submitted to a candid world.
He has refused his Assent to Laws, the most wholesome and necessary
for the public good.
He has forbidden his Governors to pass Laws of immediate
and pressing importance, unless suspended in their operation
till his Assent should be obtained; and when so suspended,
he has utterly neglected to attend to them.
He has refused to pass other Laws for the accommodation of
large districts of people, unless those people would relinquish
the right of Representation in the Legislature, a right
inestimable to them and formidable to tyrants only.
He has called together legislative bodies at places unusual,
uncomfortable, and distant from the depository of their
Public Records, for the sole purpose of fatiguing them
into compliance with his measures.
He has dissolved Representative Houses repeatedly, for opposing
with manly firmness his invasions on the rights of the people.
He has refused for a long time, after such dissolutions,
to cause others to be elected; whereby the Legislative Powers,
incapable of Annihilation, have returned to the People at large
for their exercise; the State remaining in the mean time exposed
to all the dangers of invasion from without, and convulsions within.
He has endeavoured to prevent the population of these States;
for that purpose obstructing the Laws of Naturalization of Foreigners;
refusing to pass others to encourage their migration hither,
and raising the conditions of new Appropriations of Lands.
He has obstructed the Administration of Justice, by refusing his Assent
to Laws for establishing Judiciary Powers.
He has made judges dependent on his Will alone, for the tenure
of their offices, and the amount and payment of their salaries.
He has erected a multitude of New Offices, and sent hither swarms of
Officers to harass our People, and eat out their substance.
He has kept among us, in times of peace, Standing Armies
without the Consent of our legislatures.
He has affected to render the Military independent of
and superior to the Civil Power.
He has combined with others to subject us to a jurisdiction
foreign to our constitution, and unacknowledged by our laws;
giving his Assent to their Acts of pretended legislation:
For quartering large bodies of armed troops among us:
For protecting them, by a mock Trial, from Punishment for any Murders
which they should commit on the Inhabitants of these States:
For cutting off our Trade with all parts of the world:
For imposing taxes on us without our Consent:
For depriving us, in many cases, of the benefits of Trial by Jury:
For transporting us beyond Seas to be tried for pretended offences:
For abolishing the free System of English Laws in a neighbouring
Province, establishing therein an Arbitrary government,
and enlarging its Boundaries so as to render it at once
an example and fit instrument for introducing the same
absolute rule into these Colonies:
For taking away our Charters, abolishing our most valuable Laws,
and altering fundamentally the Forms of our Governments:
For suspending our own Legislatures, and declaring themselves
invested with Power to legislate for us in all cases whatsoever.
He has abdicated Government here, by declaring us out of his Protection
and waging War against us.
He has plundered our seas, ravaged our Coasts, burnt our towns,
and destroyed the lives of our people.
He is at this time transporting large armies of foreign mercenaries
to compleat the works of death, desolation and tyranny, already begun
with circumstances of Cruelty & perfidy scarcely paralleled in the
most barbarous ages, and totally unworthy of the Head of a civilized nation.
He has constrained our fellow Citizens taken Captive on the high Seas
to bear Arms against their Country, to become the executioners of
their friends and Brethren, or to fall themselves by their Hands.
He has excited domestic insurrections amongst us, and has
endeavoured to bring on the inhabitants of our frontiers,
the merciless Indian Savages, whose known rule of warfare,
is an undistinguished destruction of all ages, sexes and conditions.
In every stage of these Oppressions We have Petitioned for Redress
in the most humble terms: Our repeated Petitions have been answered
only by repeated injury. A Prince, whose character is thus marked
by every act which may define a Tyrant, is unfit to be the ruler
of a free People.
Nor have We been wanting in attention to our Brittish brethren.
We have warned them from time to time of attempts by their
legislature to extend an unwarrantable jurisdiction over us.
We have reminded them of the circumstances of our emigration and
settlement here. We have appealed to their native justice
and magnanimity, and we have conjured them by the ties of our
common kindred to disavow these usurpations, which would inevitably
interrupt our connections and correspondence. They too have been
deaf to the voice of justice and of consanguinity. We must, therefore,
acquiesce in the necessity, which denounces our Separation, and hold them,
as we hold the rest of mankind, Enemies in War, in Peace Friends.
We, therefore, the Representatives of the United States of America,
in General Congress, Assembled, appealing to the Supreme Judge of
the world for the rectitude of our intentions, do, in the Name,
and by the Authority of the good People of these Colonies,
solemnly publish and declare, That these United Colonies are,
and of Right ought to be Free and Independent States;
that they are Absolved from all Allegiance to the British Crown,
and that all political connection between them and the State
of Great Britain, is and ought to be totally dissolved;
and that as Free and Independent States, they have full Power to
levy War, conclude Peace, contract Alliances, establish Commerce,
and to do all other Acts and Things which Independent States may
of right do. And for the support of this Declaration, with a firm
reliance on the Protection of Divine Providence, we mutually pledge
to each other our Lives, our Fortunes and our sacred Honor.
@sslaia
Copy link

sslaia commented Nov 13, 2018

Thank you for this code. It helped me a lot in my project to create word frequency count in Nias language.

However it needs a little tweak if used on texts from Nias language, the code would produce \ufeff in the result. The solution is proposed at https://stackoverflow.com/questions/17912307/u-ufeff-in-python-string i.e. open('some.txt', mode='r', encoding='utf-8-sig').read()

I hope this little tweak helps other people too.

@fdb
Copy link
Author

fdb commented Feb 17, 2021

print(len(open('text.txt').read().split(' ')))

@wiktor-falek this example counts the frequency of each word occurring in the file, not the total amount of words in the file.

@yasinbrcn
Copy link

Your solution looks very professional. Congratulations.
I also wrote a simple code for the same problem.
The code is to find the word count and character count.

word = str(input("Please Enter The Word:"))
wordlist=[]
j=1
for i in range(len(word)):
wordlist.insert(i,word[i:j])
j=j+1
print("Character Count: " + str(len(word) - wordlist.count(" ")))
print("Word Count: " + str(wordlist.count(" ")+1))

@fdb
Copy link
Author

fdb commented May 11, 2021

@yasinbrcn thanks but that's a different problem. We want to get a list of each word with its frequency count next to it.

@yasinbrcn
Copy link

@fdb Ouuh sorry. I misunderstood the problem.

@Musikero80
Copy link

Hola soy nuevo en esto, pero me gustaría dejar mi código para esta propuesta.

Pregunta = input("¿En que estás pensando?")
Pregunta = Pregunta.split()
count = len(Pregunta)

print("¡Muy bien, tu me has mostrado tu pensamiento en", count, "palabras!")

Saludos

@fdb
Copy link
Author

fdb commented Dec 15, 2021

@Musikero80 es un problemo differente. Este código cuenta el numero de palabras unicas, no los palabras en total

@pouyatech
Copy link

good
check my profile

@bestseller-hash
Copy link

This is simple .Isn't ?!

state = list(input('type your answer here : '))
word = []
count = 1
for letter in state:

w = state.pop(0)

if letter != " " :
    word.append(letter)
else :
    count += 1

print (count

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment