Seite 1 von 1

Auf Element in Array zugreifen.

Verfasst: Donnerstag 8. Januar 2015, 19:46
von pythonNap
Hi Leute,

ich habe ein File in diesem Format:

p0,-3.27009,-6.10392,76.5412,1,0
p1,-15.3995,-4.34216,81.1295,1,0
p2,1.76717,11.517,67.2204,1,0
p3,-14.3038,0.698517,73.1507,1,0

wobei die zweite, dritte und vierte Stelle Punktkoordinaten representieren (-3.27009,-6.10392,76.5412)

wie kann ich auf die einzelnen Elemente (via Komma getrennt) zugreifen? die Variante die ich versucht habe liefert mir nur einzelne Ziffern, nicht die ganzen Elemente:

Code: Alles auswählen

# open file
file = open(filename)

# read in list content
content=file.readlines()

# get points
print(content[0][1])
Vielen Dank
pythonNap

Re: Auf Element in Array zugreifen.

Verfasst: Donnerstag 8. Januar 2015, 19:57
von Sirius3
@pythonNap: Für csv-Dateien benutzt Du am besten das csv-Modul.

Re: Auf Element in Array zugreifen.

Verfasst: Freitag 9. Januar 2015, 10:12
von MagBen
Mal angenommen Dein File heißt data.txt, dann würde ich so die Datei reinladen und auf die Punkte zugreifen:

Code: Alles auswählen

import numpy as np
data = np.loadtxt("data.txt", usecols=(1,2,3), delimiter=",")
print( data[1])   # p1
print( data[3,2]) # p3_z
numpy.loadtxt lädt die Daten gleich als Float ein, deshalb sollen nicht alle Spalten gelesen werden, sondern nur usecols=(1,2,3). Das Default-Trennzeichen ist Whitespace, deshalb gebe ich das Trennzeichen explizit mit delimiter="," ein.