Specifieke kolommen uit een csv-bestand lezen met csv-module?

| | | | | | | | | | | | | | | | | | | |

Ik probeer een csv-bestand te ontleden en de gegevens uit alleen specifieke kolommen te extraheren.

Voorbeeld csv:

ID | Naam | Adres | Stad | Staat | Postcode | Telefoon | OPEID | IPEDS | 10 | C... | 130 W.. | Ma.. | AL... | 3.. | 334.. | 01023 | 10063 | 

Ik probeer alleen specifieke kolommen vast te leggen, bijvoorbeeld ID, Naam, Zip en Telefoon.

Code die ik heb bekeken, heeft me doen geloven dat ik de specifieke kolom kan bellen met het bijbehorende nummer, dus: Naam zou overeenkomen met 2 en het doorlopen van elke rij met behulp van row[2] zou alle items in kolom 2 opleveren. Alleen niet.

Dit is wat ik tot nu toe heb gedaan:

import sys, argparse, csv from settings import * # command arms parser = argparse.ArgumentParser(description="csv to postgres", fromfile_prefix_chars ="@" ) parser.add_argument("file", help="csv-bestand om te importeren", actie ="store") args = parser.parse_args() csv_file = args.file # open csv-bestand met open(csv_file, "rb") als csvfile: # verkrijg het aantal kolommen voor de regel in csvfile.readlines(): array = regel .split(",") first_item = array[0] num_columns = len(array) csvfile.seek(0) reader = csv.reader(csvfile, delimiter=" ") include_cols = [1, 2, 6, 7] voor rij in lezer: inhoud = lijst (rij [i] voor i in include_cols) print inhoud 

en ik verwacht dat dit alleen de specifieke kolommen zal afdrukken die ik voor elke rij wil, behalve dat doet het niet, ik krijg alleen de laatste kolom.