Python Leerzeichen entfernen

Gast #4229558
Lesenswert?

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 ?
Gast #4229603
Lesenswert?

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)
Gast #4229618
Lesenswert?

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.
Gast #4229621
Lesenswert?

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  '].
Gast #4229629
Lesenswert?

norbert@Entwicklung:~$ python3
Python 3.2.3 (default, Feb 20 2013, 14:44:27)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.

>>> s = 'Messpunkt1   1     2    3    4     5   6'
>>> print(s.split())
['Messpunkt1', '1', '2', '3', '4', '5', '6']
>>>
Beitrag #5787344 wurde von einem Moderator gelöscht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren