You should take a look at Magmi (https://github.com/dweeves/magmi-git).
"Stolen" from magmis WIKI:
Magmi is a Magento Mass Importer developed as a magento DATABASE client, (ie not a magento extension) , that operates directly in SQL and is the result of a deep analysis of the Magento Database Model. The first magmi goal was catalog import & update.
it can create products or update an existing catalog and deal with HUGE data (Millions of products could be managed by magmi,but even above a few 1000’s , you’ll see the real difference with dataSlow)
- It provides decent speed compared to Dataflow (depending on server config & number of attributes, 70-100 rows/sec is standard magmi speed).
- It supports Dataflow export CSVs file & also some enhanced CSV syntax for dealing with custom options import & media gallery import.
- it works for multistore
- It supports remote image urls for image related attributes (in this case, speed is affected by image download)
- It also provides Generic SQL Datasource Plugin that enable getting data to be imported into magento from another legacy database instead of CSV.
- Can handle configurables (through configurables plugin)
- Can handle related, upsell & cross-sell (using Relater & upsell/cross-sell plugin)
Magmi provides a Web UI for configuration & running, however,it can be called via cli for automation.