Einzelne Zahlen aus txt-Dateien in Python einlesen?

Guten Tag.

Ich lerne zur Zeit Python an der Hochschule und arbeite mit Python 3.5. Bisher kam ich immer gut zurecht, doch nun haben wir eine Hausübung bekommen, die mir etwas Kopfzerbrechen bereitet.

Die Aufgabe ist folgende:

Lesen Sie aus der Datei unip-mini.dat.txt Zeile SQ die Länge aller Proteine in eine Liste. Plotten Sie die Liste als Histogramm mit 50 Balken.

Beispiel, wie so eine Zeile aussieht: SQ SEQUENCE 458 AA; 53921 MW; E46E5C85D7ACA139 CRC64;

Länge: 458

Wie man grundsätzlich Dateien in Python einliest, ist mir bekannt. Ich bin auch schon so weit, dass es nur diejenigen Zeilen einliest, die eben mit SQ beginnen. Allerdings möchte ich ja nur die Länge der Proteine in der Liste haben. Nun ist mein Problem, dass ich eben nicht weiß, wie ich es fertig stelle, dass lediglich die Länge in die Liste eingefügt wird.

Mein Code sieht bisher wie folgt aus:

    #!/usr/bin/python3

    import numpy as np
    import matplotlib.mlab as mlab
    import matplotlib.pyplot as plt

    def main():
        if os.path.isfile(sys.argv[1]) == False:
            print("Datei", sys.argv[1], "nicht gefunden")
            exit(0)
        with open(sys.argv[1]) as filetoread:
            lines = filetoread.readlines()
        seq = []

        for i in range(len(lines)):
            if(re.search('SQ   ', lines[i])):
                seq.append(lines[i])

        print(seq)


    if __name__ == "__main__":
        import sys
        import os
        import string
        main()

Könnte mir da vielleicht jemand helfen? Vielleicht gehe ich die Sache ja gerade auch einfach ganz falsch an und merke es nicht.

Mit freundlichen Grüßen

...zur Frage

Für das Einlesen von strukturierten Textdateien kannst Du auch das Python-Modul Pandas benutzen, genaugesagt die I/O-Funktionen davon: http://pandas.pydata.org/pandas-docs/stable/io.html (Viele Beispiele unten).

Damit lassen sich strukturierte Textdateien, wie z.B. CSV, auch mit Headerzeilen und allem was dazugehört einlesen; meist braucht es nur einen Einzeiler um alle Daten in den Speicher zu bekommen. Auch Excel-Dateien kann man damit lesen und schreiben.

...zur Antwort

Mit dieser Tabelle http://inflationsrechner.list-of.info/ kannst Du die Wertentwicklung infolge der Inflationsraten verfolgen. Deine 30DM wären zu 4,41 Euro geschrumpft. Die Frage nach den Lebenshaltungskosten ist schon schwieriger als die nach der reinen Inflationsrate zu beantworten. Damals brauchte es zur Lebenshaltung noch nicht mal einen Fernseher, heute gehört Auto und alle zwei Jahre ein neues Smartphone praktisch schon dazu. Und manche Dinge sind seitdem sogar billiger geworden, gehst Du Kik und Aldi kaufen.

...zur Antwort
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.