Herausforderung Datenextrahieren
Tobias
https://www.herber.de/bbs/user/81779.zip
..von dieses csv dateien interessiert mich jene mit dem namen "panelinfo.csv". Wenn ich diese mit excel öffne sind die Werte nicht in tabellen geordnet, sondern einfach alles mit komma getrennt in eine zeile geschrieben. daher muss man diese in excel importieren, indem man unter daten auf externe daten abrufen und dann aus text geht..dann öffnet sich ein dialog indem man zuerst eingeben kann, das die inhalte getrennt werden sollen und dann nach welchem zeichen ..ich habe ein makro aufgezeichnet und das mal per hand gemacht ..der code der da rauskam war dieser :
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;C:\Users\rrt1arn2\Desktop\Ordner\Panelinfo.csv", Destination:=Range("$O$1"))
.Name = "Panelinfo"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
jetzt habe ich die csv datei in exel importiert..und die werte sind alle schön geordnet ..zum beispiel gibt es eine zelle date und darunter steht das eigentliche datum oder eine zelle time und darunter die Zeit....leider sind die überschriften date, time usw. nicht immer in der richtigen reihenfolge(weil die panelinfo.csv datein in der hinsicht,bis auf date, time und quality, der spalten nicht gleich sind...lediglich in der gleichen zeile ..daher müsste ich also schonmal in der zeile nach defekt suchen oder nach Kratzer um darunte den wert zu bekommen den ich brauche.....diese Werte sollen dann in eine andere tabelle geschrieben werden , die auch die köpfe date, time,defekt,kratzer usw hat...ob das jetzt eine andere datei ist oder die, in die die werte importiert wurden ist egal ..hauptsache die importierten daten werden nach der übertragung rausgelöscht damit platz fürs nächste ist damit es nicht zu viel wird ..denn diese prozedur müsste für alle datein mit namen panelinfo, die sich in den nummerierten zipdatein befinden durchgenommen werden..also als schleife ...bis ich aus jeder die wichtigen werte aus der jeweiligen panelinfo in die "endtabelle" übertragen habe
ich weiß nicht ob das mit dem importieren nötig ist aber ich denk schon weil die csv dateien sehen wenn ich sie in excel öffne so aus :
Zelle a1:Panel-ID,Date,Time,Recipe,Quality,Status,Message
Zelle a2:178012012052900722,2012-05-29,17:52:10,Universal,Quality A,OK,
Zelle a5:Panel Geometry
Zelle a6:Width,Length
Zelle a7:983.513,1652.43,
Zelle a9:Defect Summary
Zelle a10:Defekt / Defect,Ueberlauf / Overflow,Handling,Ecke / Corner,Glas Geometrie / Dimensions,Kruemmung / Warpage,Staubpartikel / Particle,Einschluss / Inclusion,Stempel,Kratzer / Scratch Cluster,Haeufungsfehler / Cummulation,Kantenfehler / Edge Cluster,Blase / Bubble Cluster,
Zelle a11:0,0,0,0,0,0,496,45,10,0,25,0,0,
wenn man die dann so wie ich geschildert habe inportiert, stehen die Zahlen von zelle a11 in spalten geordnet unter den köpfen von Zelle a10 , da ich ja nach kommas trenne und der schreibt dann alles was hinter dem komma kommt in die nächste spalte
ich bräuchte auch nicht alle werte sondern bloß:
Date,Time,Quality,Defect,Überlauf,Ecke,Glas Geometrie,Staubpartikel,Kratzer,Einschluss,Stempel,Scratch Cluster,Häufungsfehler,Kantenfehler,Blase
ich hoffe es wurde klarer und ich wäre sehr sehr froh wenn mir einer helfen könnte
danke schonmal für die antworten
gruß