ich bin noch ein ziemlicher Anfänger in Python. An einem csv Problem versuche ich den Einstieg. Einiges klappt schon ganz gut. Leider bekomme ich zu dem Fehler " if abs(float(row[1])) <= abs(float(row[2])) ^ SyntaxError: invalid syntax" keine Lösung, weder Forumsuche noch Suchmaschinen. Die unter row[1] und row[2] stehenden Werte in der Datei sind real. Ich nutze das Skript schon in abgewandelter Form zur Verrechnung. Da läuft es.
Was ist daran grundsätzlich falsch?
if abs(float(row[1])) <= abs(float(row[2]))
Hier mein Code:
Code: Alles auswählen
import csv
import sys
rowret = []
filefem = open('2012-02-03.csv','r')
csvreader=csv.reader(filefem, delimiter=',')
idbewert= []; Haupt1= []; Haupt2= []; AGK= []; Pro_Ab = [];
i = int(0)
ii = int(0)
n = int(0)
ergebnisverrechnung = open('2012-02-03-Re.csv', 'wt')
writer = csv.writer(ergebnisverrechnung, delimiter=',')
for row in csvreader:
if len(row) == 1:
ii = int(ii+1)
if ii > 1:
ii = 0
n = (n+1)
rowret = ["%s loadcase x" % n,"x-AGK"]
writer.writerow(rowret)
rowret = ["ID","Haupt_1","Haupt_2"]
writer.writerow(rowret)
i = int(i+1)
print "%ster Lastfall: " % i
while True:
try:
Prozent_Fehler = raw_input("Bis wieviel: ")
Prozent_Fehler = float(Prozent_Fehler)
break
except ValueError:
print("Eine _Zahl_, bitte!")
try:
Spannung = raw_input("ab welchem Wert: ")
Spannung = float(Spannung)
break
except ValueError:
print("Eine _Zahl_, bitte!")
if len(row) > 1:
idbewert.append(int(row[0]))
Haupt1.append(float(row[1]))
Haupt2.append(float(row[2]))
if abs(float(row[1])) <= abs(float(row[2]))
AGK_Zuord = 0
if abs(row[2]) > Spannung
AGK = float((row[1]/row[2])*100)
if AGK <= Prozent_Fehler
AGK_Zuord = 1
if Achsigkeit > Prozent_Fehler
AGK_Zuord = 2
if abs(row[2]) < abs(row[1])
if abs(row[1]) > Spannung
AGK = float((row[2]/row[1])*100)
if AGK <= Prozent_Fehler
AGK_Zuord = 1
if Achsigkeit > Prozent_Fehler
AGK_Zuord = 2
rowret = [int(row[0]),AGK,AGK_Zuord]
writer.writerow(rowret)
# print(sx,sy,txy)
filefem.close()
ergebnisverrechnung.close()
Derzeit schreibe ich den Code im gedit. Gibt es unter Linux (Ubuntu 10.04 eine IDE, eventuell sogar mit Codeergänzung Quelltexttest des Syntax usw. in Analogie zu anderen Sprachen?
Wie kann ich die Werte in z.B. Haupt1 gezielt auslesen? In Pascal z.B. Haupt1[1] und in Python?
Gruß Und Dank Markus