neuerdings probiere ich mich als Programmiere und neben all den Rückschlägen hat sich doch jede Menge Spaß dabei ergeben! Dennoch hapert es gerade und ich mjag euch folgendes fragen:
Wieso landen die ausgewählten Daten nicht in meiner Attributtabelle?
Wenn ich mir "row" als print ausgeben lasse, finden sich die gewünschten Daten und der Filter nach Stationsnummer funktioniert ebenfalls.
Viele Dank für diejenigen, die sich meiner Sache annehmen!
Code: Alles auswählen
# -*- coding: cp1252 -*-
###Arbeitsbedingungen schaffen
#-----------------------------
print "Schaffe Arbeitsbedingungen."
print "---------------------------"
import arcpy
import datetime
import os
arcpy.env.overwriteOutput = True
arcpy.env.workspace = r"D:\Studium\MASTER\Semester3\MIII_Python\Project3"
#Pointshapefile erstellen
point = arcpy.CreateFeatureclass_management(arcpy.env.workspace, "stationen.shp", "point", "", "", "", "32632")
#Spalten im Shapefile hinzufuegen
arcpy.AddField_management(point,"nummer","DOUBLE")
arcpy.AddField_management(point,"hoehe","FLOAT")
arcpy.AddField_management(point,"name","TEXT")
arcpy.AddField_management(point,"p anno","FLOAT")
print "Programme geladen und Punktshape mit Spalten erstellt."
print "\n"
###Stationsdaten aus Infotextfile einfügen
#-----------------------------------------
print "Auslesen der Stationsdaten."
print "---------------------------"
print "\n"
#Stationsdaten aus "RR_DailyValues_Description_Stations.txt" einlesen
cursor = arcpy.da.InsertCursor(point, ["nummer", "hoehe", "name", "SHAPE@XY"])
statinfo = open(r"D:\Studium\MASTER\Semester3\MIII_Python\Project3\RR_DailyValues_Description_Stations.txt", "r")
statinfo.readline()
statinfo.readline()
inputinfo = statinfo.readlines()
for line in inputinfo:
liste = line.split()
#definieren von allen Feldern! Gelesen aus der TXT-Datei.
nummer = liste [0]
date1 = liste [1]
date2 = liste [2]
hoehe = liste [3]
x = liste [4]
y = liste [5]
name = liste [6]
state = liste [7]
row = [nummer.strip(), hoehe.strip(), name.strip(), (float(x), float(y))] #strip nimmt nur den benötigten inhalt raus und löscht leerzeichen
#Benötige Stationsdaten in Shapefile schreiben
if nummer == "1095" or nummer == "1637" or nummer == "1691" or nummer == "1692" or nummer == "3649" or nummer == "3650":
print "Stationsdaten:"
print row
print "\n"
cursor.insertRow(row)
del cursor, row
statinfo.close()
print "Punktshape mit Stationsdaten gefüllt."
print "\n"