selecteer de kolom in het csv-bestand in Python

Ik zou graag een reeks gegevens willen bestuderen met dezelfde techniek in ArcMAP (het zal te lang duren om het een voor een te doen;)!). Ik speel pas onlangs met ArcMAP en Python (wat me kan helpen om een ​​automatische reeks te genereren).

Ik heb ook gelezen dat het eenvoudiger is om een ​​.csv-besTAnd in ArcMAP te importeren.

Ik importeer het csv-besTAnd met csv.reader (alleen coördinaat van punten zonder header, twee kolommen x en y) zoals:

file = csv.read(...)

Het lukte me toen niet om het besTAnd af te drukken, want ik kreeg dit bericht:

<_csv.writer object at 0x1426F7B0>

En ik wil de eerste kolom in de x-coördinaat en de tweede kolom in de y-coördinaat in een punt shapefile plaatsen?

Ik lees veel informatie over het maken van een besTAnd. Maar ik zit vast in het nemen van de eerste en tweede kolom van mijn besTAnd.

Kun je me wat advies geven?

TA

3

2 antwoord

Voor dit CSV-bestand, simple-csv.csv:

34.79038,-96.80871,"4/13/1983"
34.93032,-96.44490,"2/5/1967"
34.95507,-96.92268,"12/23/2001"
34.95689,-96.92263,"8/9/1999"
34.92559,-96.68021,"8/25/1954"

Deze code zal het openen en afdrukken:

>>> # import csv module
>>> import csv
>>> # open and read the csv file into memory
>>> file = open(‘C:/testing/simple-csv.csv’)
>>> reader = csv.reader(file)
>>> # iterate through the lines and print them to stdout
>>> # the csv module returns us a list of lists and we
>>> # simply iterate through it
>>> for line in reader:
...     print line
...
[‘34.79038’, ‘-96.80871’, ‘4/13/1983’]
[‘34.93032’, ‘-96.44490’, ‘2/5/1967’]
[‘34.95507’, ‘-96.92268’, ‘12/23/2001’]
[‘34.95689’, ‘-96.92263’, ‘8/9/1999’]
[‘34.92559’, ‘-96.68021’, ‘8/25/1954’]

Als u alleen de eerste en tweede kolom wilt hebben, doet u iets als:

for line in reader:
    print line[0], line[1]
5
toegevoegd
En als uw CSV-bestand een kopregel heeft, raad ik u aan de DictReader in plaats daarvan kunt u op die manier naar rijwaarden verwijzen door de naam van de kop in plaats van de index. Het zal ook automatisch de eerste rij voor u overslaan in de geretourneerde iterabele.
toegevoegd de auteur blah238, de bron