Ich habe eine Textdatei, die viele Zeilen von Daten enthält. Ich brauche jede Zeile dieser Textdatei zu überprüfen und zu verarbeiten, um die in der Zeile entsprechend enthaltenen Daten (dh speichern zu einem separaten, tabellarisch .txt für die Analyse)Probleme mit. Startswith() für eine bestimmte Stelle in einer Zeichenfolge
Die Textdatei in folgendem Format ist:
- Nummer 1 oder 0 (bezeichnet Relevanz der Daten)
- Eine ID für jede Zeile (in Bezug auf das, was die Daten)
- die Daten selbst (in Rest der Zeile enthalten)
das ist also welche zwei Beispielzeilen aussehen kann:
1 ID: K-95 Liste der Daten
0 ID: D-56 Liste anderer Daten
Derart, dass die erste Zeile relevant hatte Daten zu ID K-95 und die zweite hatten irrelevante Daten zu ID D-56.
Ich möchte die Textdatei analysieren und die Daten in jeder Zeile basierend auf der Relevanz (0 oder 1) und der Daten-ID sortieren. I.e. Speichere jede Zeile mit der gleichen ID in der Reihenfolge der Relevanz (zuerst alle Zeilen mit 1 und dann mit 0). Zeilen können die gleiche ID, aber unterschiedliche Daten haben. Linien haben auch immer eine feste Länge.
idtag = input('Enter ID:')
with open("example.txt", 'r') as f:
for line in f.readlines():
if line.startswith('1') and line.startswith(idtag, 5, 3):
print line
Nachdem jedoch mit diesem Problem:
diese kam ich mit zu tun. Speziell um die zweite Bedingung nach dem Operator und. Ich kann Zeilen drucken/auswählen, je nachdem, ob es eine 0 oder 1 gibt, kein Problem. Die Methode .startswith()
mit einer definierten Position scheint jedoch nichts zurückzugeben: kein Fehler, kein Drucken - es wird einfach ausgeführt und gibt nichts zurück.
Irgendwelche Ideen? Vielleicht eine bessere Möglichkeit, diese Daten zu analysieren, um mein Ziel zu erreichen?
die Liste der Daten durch ein Trennzeichen getrennt ist, sagt Komma? –
@SaikatKumarDey Ja, es wird durch Leerzeichen im folgenden Format getrennt: a: 100F b: 150A c: 41S – tyrfingnir
Ist die Anzahl der Elemente in der Liste festgelegt? –