So there are two parts to this problem. Firstly getting every row of your csv, secondly randomly sampling. I would suggest constructing your list of rows with a list comprehension. Something along the lines of:
with open("your_file.csv", "rb") as source:
lines = [line for line in source]
Once you've got that you want to take a random sample of those lines. Luckily python has a function that does just that.
import random
random_choice = random.sample(lines, 1000)
Once you've got those lines you want to write them back to a new file (though I assume you already know how given that a quick google reveals this), so I will include an example just for completeness's sake:
with open("new_file.csv", "wb") as sink:
sink.write("\n".join(random_choice))
which just outputs your choice as a newline delimited string to the file of your choice. It's also worth noting that in this case it doesn't really matter that you're dealing with a csv, just another file with some lines.
If you're working with a very large file or concerned about taking up too much memory you should replace the above list comprehension with a generator and then sample from that instead, but that process isn't nearly as straightforward. If you want advice on making that more performant you should look at this question: Python random sample with a generator iterable iterator