WooCommerce ships with a built-in CSV importer. Variable products use a parent row of Type 'variable' plus child rows of Type 'variation' that reference the parent by SKU.