Ich versuche, eine Reihe von Textdateien zu analysieren und speichern sie als CSV-Dateien mit Python (2.7.3). Alle Textdateien haben eine 4 Zeilen lange Kopfzeile, die entfernt werden muss. Die Datenzeilen haben verschiedene Begrenzer einschließlich "(quote), - (strich),: spalte und Leerzeichen. Ich fand es ein Schmerz, es in C++ mit all diesen verschiedenen Begrenzern zu codieren, also habe ich beschlossen, es in Python zu versuchen, es zu hören ist im Vergleich zu C/C++ relativ einfacher zu machen.Textdateianalyse mit Python
Ich schrieb ein Stück Code, um es für eine einzelne Zeile von Daten zu testen, und es funktioniert, aber ich konnte es nicht schaffen, dass es für die eigentliche Datei funktioniert Parsing einer einzelnen Zeile Ich habe das Textobjekt und "Ersetzen" -Methode. Es sieht aus wie meine aktuelle Implementierung liest die Textdatei als eine Liste, und es gibt keine Methode zum Ersetzen des Listenobjekts.
Als Novize in Python Ich steckte an diesem Punkt fest. Irgendwelche Eingaben würden geschätzt!
Danke!
# function for parsing the data
def data_parser(text, dic):
for i, j in dic.iteritems():
text = text.replace(i,j)
return text
# open input/output files
inputfile = open('test.dat')
outputfile = open('test.csv', 'w')
my_text = inputfile.readlines()[4:] #reads to whole text file, skipping first 4 lines
# sample text string, just for demonstration to let you know how the data looks like
# my_text = '"2012-06-23 03:09:13.23",4323584,-1.911224,-0.4657288,-0.1166382,-0.24823,0.256485,"NAN",-0.3489428,-0.130449,-0.2440527,-0.2942413,0.04944348,0.4337797,-1.105218,-1.201882,-0.5962594,-0.586636'
# dictionary definition 0-, 1- etc. are there to parse the date block delimited with dashes, and make sure the negative numbers are not effected
reps = {'"NAN"':'NAN', '"':'', '0-':'0,','1-':'1,','2-':'2,','3-':'3,','4-':'4,','5-':'5,','6-':'6,','7-':'7,','8-':'8,','9-':'9,', ' ':',', ':':',' }
txt = data_parser(my_text, reps)
outputfile.writelines(txt)
inputfile.close()
outputfile.close()
Sie sollten eine Kopie der Datei, die Sie analysieren müssen, und die erwartete Ausgabe anhängen, so wird es einfacher, Ihnen zu helfen. –