Hallo
Ich bin gerade dabei ein Praktikum im Bereich E-Technik Informatik zu
machen.
Hierfür muss ich mich mit Python beschäftigen. Leider bin ich hier sehr
unerfahren und gerade erst dabei mir die Sprache bei zu bringen.
Hier meine Fragstellung wir haben einen versuch Aufbau,
der zu bestimmten Zeiten Messwerte ermittelt und diese in einem Text
File am nächsten Tag speichert.
Das ganze sieht in etwa so aus:
Messpunkt1 1 2 3 4 5 6
Messpunkt2 2 44 66 33 33 33
Ich möchte das Textfile nun zeilenweis einlesen und dann die einzelnen
Elemente in einem Array abspeichern.
Soll so aussehen:
Auswertung[0]= Messpunkt1
Auswertung[1]= 1
Auswertung[2]= 2
Auswertung[3]= 3
Etc.
Das zeilenweise einlesen funktioniert soweit recht gut. Mein Problem
sind die Leerzeichen.
Mit .split kann ich zwar die Zeile aufsplittern und mir eine for
schleife auch Werte in das Array ablegen,
aber leider legt er auch die Leerzeichen mit ab.
Kann mir jemand helfen wie ich die Leerzeichengeschickt weglasse ?
Hab das Ganze mit eine if Abfrage versucht leider scheine ich noch einen
logischen Fehler zu haben
file = open("C:\ Messwerte_sum.txt","r")
for line in file:
print(line)
liste = line.split(' ')
Auswertung = []
for i in liste:
if ' ' not in i:
Auswertung.append(i)
Die Werte in deiner Liste sind Strings mit Leerzeichen. Deshalb wird
nichts angehängt.
Wenn du es mit Split machen willst dann kannst du auch einfach vorher
die unnötigen Leerzeichen entfernen.
for i in range(max_Anz_Leerzeichen):
zeile.replace(' ',' ') #ersetzt 2 Leerzeichen durch ein Leerzeichen
werte = zeile.split
Andere Möglichkeiten wurden oben schon geschrieben.
Python_Newbie schrieb:> Hab das Ganze mit eine if Abfrage versucht leider scheine ich noch einen> logischen Fehler zu haben
Keinen logischen Fehler, sondern einen 'ignoring the manual' Fehler.
str.split([sep[, maxsplit]])
Return a list of the words in the string, using sep as the delimiter
string. If maxsplit is given, at most maxsplit splits are done (thus,
the list will have at most maxsplit+1 elements). If maxsplit is not
specified or -1, then there is no limit on the number of splits (all
possible splits are made).
If sep is given, consecutive delimiters are not grouped together and
are deemed to delimit empty strings (for example, '1,,2'.split(',')
returns ['1', '', '2']). The sep argument may consist of multiple
characters (for example, '1<>2<>3'.split('<>') returns ['1', '2', '3']).
Splitting an empty string with a specified separator returns [''].
If sep is not specified or is None, a different splitting algorithm
is applied: runs of consecutive whitespace are regarded as a single
separator, and the result will contain no empty strings at the start or
end if the string has leading or trailing whitespace. Consequently,
splitting an empty string or a string consisting of just whitespace with
a None separator returns [].
For example, ' 1 2 3 '.split() returns ['1', '2', '3'], and ' 1
2 3 '.split(None, 1) returns ['1', '2 3 '].