Auf Element in Array zugreifen.

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
pythonNap
User
Beiträge: 1
Registriert: Donnerstag 8. Januar 2015, 19:42

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
Sirius3
User
Beiträge: 18335
Registriert: Sonntag 21. Oktober 2012, 17:20

@pythonNap: Für csv-Dateien benutzt Du am besten das csv-Modul.
Benutzeravatar
MagBen
User
Beiträge: 799
Registriert: Freitag 6. Juni 2014, 05:56
Wohnort: Bremen
Kontaktdaten:

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.
a fool with a tool is still a fool, www.magben.de, YouTube
Antworten