text auslesen und zurückschreiben
Verfasst: Montag 13. April 2009, 20:50
Hallo zusammen
In meinem .dat file sind ein paar Daten in Kolonen gespeichert.
Sieht etwa so aus:
Ich brauch aber die 4. und 5. Kolonne nicht, die Nullen in der ersten Zeile spielen keine Rolle, das ganze wird mit GNUPlot geplottet und dort ist hinter '#' ein Kommentar.
Ich möchte nun das ganze .dat-File (bzw. alle im Verzeichnis) einlesen und alles ausser den beiden genannten Kolonnen wieder zurückschreiben.
Hier mein Ansatz:
Wenn ich den lineString am Ende einfach printe(), dann kommt genau das raus, was ich will. Nur das Schreiben ins File klappt nicht. Ich bekomme einen
In meinem .dat file sind ein paar Daten in Kolonen gespeichert.
Sieht etwa so aus:
- #1gym 0 0
HIS 32 A 8.11 1.61 7.6 1.1 6.5
HIS 61 A 4.99 -1.51 3 -3.5 6.5
HIS 81 A 4 -2.5 3 -3.5 6.5
HIS 82 A 6.55 0.05 6.9 0.4 6.5
HIS 92 A 6.43 -0.07 5.4 -1.1 6.5
HIS 227 A 4.05 -2.45 6.9 0.4 6.5
Ich brauch aber die 4. und 5. Kolonne nicht, die Nullen in der ersten Zeile spielen keine Rolle, das ganze wird mit GNUPlot geplottet und dort ist hinter '#' ein Kommentar.
Ich möchte nun das ganze .dat-File (bzw. alle im Verzeichnis) einlesen und alles ausser den beiden genannten Kolonnen wieder zurückschreiben.
Hier mein Ansatz:
Code: Alles auswählen
class rewriter():
def __init__(self):
self.pattern = r'^\d\w{3}$'
self.dir = sys.argv[1]
self.filelist = []
self.filevalue = ''
def rewriteDats(self):
#List all elements in the directory.
for dat in listdir(self.dir):
#The-name-of-the-files-collecto.
#Make sure only the protein files are being provided.
name = dat
if re.search(self.pattern, splitext(name)[0]) and splitext(name)[1][1:] == 'dat':
self.filelist.append(name)
print(name)
datfile = open(join(self.dir, name), 'w')
datvalue = datfile.readlines()
for line in datvalue:
if line[0]!= '#':
linelist = line.split()
lineString = " ".join([linelist[0], linelist[1], linelist[2], linelist[5], linelist[6]]) + "\n"
datfile.write(lineString)
datfile.close()
- AttributeError: 'BufferedWriter' object has no attribute 'read1'