There are probably many good existing datasets, but if you want to make your own, here is a little Python 2.7 code that takes a text file as input, and then prints the most common N words.
Let's use a sample book from Project Gutenberg - Complete Works of William Shakespeare (5.3 MB .txt file, pg100.txt)
# -*- coding: utf-8 -*-
import string
from collections import Counter
def get_words(infile,N):
# open file and read it into a string
with open(infile,'rb') as textfile:
text = textfile.read()
# remove punctuation - http://stackoverflow.com/q/265960/2327328
text = text.translate(string.maketrans("",""), string.punctuation)
# make all text lower case
text = text.lower()
# split text into array of words
words = text.split()
return Counter(words).most_common(N)
# run the function with these input params (file_name, N most common words)
print get_words('pg100.txt',10)
gives as output:
[('the', 27824), ('and', 26791), ('i', 20681), ('to', 19261), ('of', 18289), ('a', 14667), ('you', 13716), ('my', 12481), ('that', 11135), ('in', 11027)]
Of course, to print all words, then just make N really large (10**10, aka 10^10). The timing is based on reading the entire file, so it shouldn't change much by giving much more output (takes 0.7 seconds for N=10 and 1.1 seconds for N=10**10 on my old laptop).
See here for instructions about downloading the entire project. You can then iterate over each text file.