Jede Empfehlung, wie ich Daten aus mehreren Textdateien erfassen und verarbeiten kann (zB Summen berechnen). Ich habe versucht, es in Python zu tun, aber weiterhin Sackgassen.Daten aus mehreren Textdateien verarbeiten
Ein Computer generiert bei jeder Operation eine Übersichtsdatei im Textformat. In diesem Beispiel werden gute Äpfel aus Chargen gescannt. Zuerst lädst du die Äpfel, dann wird gut von schlecht getrennt, und dann kannst du die schlechten Äpfel erneut laden, um sie erneut zu testen, und einige werden wiedergewonnen. Es werden also mindestens 2 Übersichtsdateien pro Batch erstellt, abhängig davon, wie oft Sie die Äpfel laden, um sie wiederherzustellen.
Dies ist ein Beispiel für die Textdatei:
file1:
general Info:
Batch No. : A2J3
Operation : Test
Fruit : Apple
Operation Number : A5500
Quantity In : 10
yield info:
S1 S2 Total Bin Name
5 2 7 good
1 2 3 bad
file2:
general Info:
Batch No. : A2J3
Operation : Test
Fruit : Apple
Operation Number : A5500
Quantity In : 3
yield info:
S1 S2 Total Bin Name
1 1 2 good
0 0 1 bad
Ich möchte die Daten in einem Ordner voll von diesen txt-Dateien erhalten und Zusammenführen der Testergebnisse mit den folgenden Kriterien:
Prozess der gleichen Charge durch die Identifizierung, die TXT-Dateien aus der gleichen Charge Nr kommen, gleiche Operation (basierend auf den Inhalt der txt-Datei nicht Dateiname)
die 2 (oder mehr Zusammenfassungsdatei) Daten in den folgenden fusionieren Format csv:
Lot: Operation: Bin First Pass Second Pass Final Yield %Yield Good 7 2 9 90% Bad 3 1 1 10%
S1, S2 ist variabel, kann es 1 bis 14 gehen, aber nie weniger als 1 Die Behälter können auch verschiedene Arten auf verschiedenen Textdateien (nicht nur auf gute begrenzt und schlecht. aber es wird immer nur ein gutes ist sein)
Bins:
Good
Semi-bad
Bad
Worst
...
Ich bin neu in Python und ich nur diese Skriptsprache in der Schule verwendet, ich weiß nur die Grundlagen, nicht mehr. Also diese Aufgabe, die ich tun möchte, ist ein wenig überwältigend mir so die Daten einer einzelnen Textdatei zu verarbeiten und bekomme ich wollte, zum Beispiel begann ich: Chargennummer
with open('R0.txt') as fh_d10SunFile:
fh_d10SumFile_perline = fh_d10SunFile.read().splitlines()
#print fh_d10SumFile_perline
TestProgramName_str = fh_d10SumFile_perline[CONST.TestProgram_field].split(':')[1]
LotNumber_str = fh_d10SumFile_perline[CONST.LotNumber_field].split(':')[1]
QtyIn_int = int(fh_d10SumFile_perline[CONST.UnitsIn_field].split(':')[1])
TestIteration_str = fh_d10SumFile_perline[CONST.TestIteration_field].split(':')[1]
TestType_str = fh_d10SumFile_perline[CONST.TestType_field].split(':')[1]
dann greifen alle Bins in dieser Übersichtsdatei :
SoftBins_str = filter(lambda x: re.search(r'bin',x),fh_d10SumFile_perline)
for index in range(len(SoftBins_str)):
SoftBins_data_str = [l.strip() for l in SoftBins_str[index].split(' ') if l.strip()]
SoftBins_data_str.reverse()
bin2bin[SoftBins_data_str[0]] = SoftBins_data_str[2]
dann habe ich stecken, weil ich nicht sicher bin, wie diese Lesung zu tun und mit mehreren n Anzahl von Textdateien mit n Anzahl der Standorte (S1, S2) Parsen. Wie greife ich diese Informationen aus n Anzahl der Textdateien, verarbeiten sie im Speicher (ist dies sogar mit Python möglich) und schreiben Sie dann die Ausgabe mit Berechnung in der CSV-Ausgabedatei.
Sie sagen ** mindestens zwei zusammenfassende Dateien **, aber das Ausgabeformat ist bei zwei Durchgängen fixiert? Auch ich nehme an "Lot:' ist die aktuelle 'Batch-Nr." Und 'Operation:' ist 'Test'? –
@MartinEvans ja, das ist richtig –
@SreejithMenon aktualisiert die Frage mit mehr Details und der Ansatz, den ich versucht habe zu tun. –