Just be careful if you use Python, esp. with SQLAlchemy, to work with data in chunks, as Python* is notorious for not releasing the memory back to the OS. And if you can parallelize your work, use the 'multiprocessing' lib, not threading, because of the GIL. Then again if your threads are mostly IO, the GIL might not matter.
Python also has
Celery which is nice if you can parallelize across many nodes.
Otherwise, I'll second what sednet said. PHP for webapp, Python for heavy lifting, PostgreSQL over MySQL.
I have an app that does something similar, in a similar amount of data, except it's XML, not CSV. Because of the memory overhead associated with various lists and dictionaries, and in conjunction with said Python's problem with releasing the memory to the OS, I had to rewrite for "manual" creation of output files on disk (actually using tempfile.SpooledTemporaryFile that automatically spills to disk if it grows over XX MB) instead of using xml.etree library -- which I use only to construct simple branches, not whole XML tree.
------------
*) At least 2.6 on CentOS. I hear 3.x and 2.7 have patches that make it less of a problem.