ich eine Textdatei haben:überprüfen und fügen Spalte in Textdatei
FIELD1;FIELD2;FIELD3;FIELD4;FIELD5;;FIELD7;FIELD8;FIELD9;FIELD10;FIELD11;FIELD12;FIELD13;FIELD14;FIELD15;FIELD16;FIELD17;FIELD18;FIELD19;FIELD20;FIELD21;FIELD22;IT0017;random information;IT0077;IT0105;... FIELD1;FIELD2;FIELD3;FIELD4;FIELD5;;FIELD7;FIELD8;FIELD9;FIELD10;FIELD11;FIELD12;FIELD13;FIELD14;FIELD15;FIELD16;FIELD17;FIELD18;FIELD19;FIELD20;FIELD21;FIELD22;IT0006;IT0017;random information;IT0077;NaN;IT0105;... FIELD1;FIELD2;FIELD3;FIELD4;FIELD5;;FIELD7;FIELD8;FIELD9;FIELD10;FIELD11;FIELD12;FIELD13;FIELD14;FIELD15;FIELD16;FIELD17;FIELD18;FIELD19;FIELD20;FIELD21;FIELD22;IT0105;... FIELD1;FIELD2;FIELD3;FIELD4;FIELD5;;FIELD7;FIELD8;FIELD9;FIELD10;FIELD11;FIELD12;FIELD13;FIELD14;FIELD15;FIELD16;FIELD17;FIELD18;FIELD19;FIELD20;FIELD21;FIELD22;IT0006;IT0105;...
basierend auf 3 Feldern: IT0006
IT0017
random data
- In der ersten Reihe, ich habe
IT0017; random information;IT0077
aber nichtIT0006
(column_23) undNaN
(column_27) - In der zweiten Reihe habe ich alle Spalte (guter Fall)
- In der dritten Zeile habe ich keine dieser fünf Spalte
- In der vierten habe ich nur die
IT0006
Feld.
Ich mag würde diese Ausgabe erstellen:
FIELD1;FIELD2;FIELD3;FIELD4;FIELD5;;FIELD7;FIELD8;FIELD9;FIELD10;FIELD11;FIELD12;FIELD13;FIELD14;FIELD15;FIELD16;FIELD17;FIELD18;FIELD19;FIELD20;FIELD21;FIELD22;IT0006;IT0017;random information;IT0077;NaN;IT0105;... FIELD1;FIELD2;FIELD3;FIELD4;FIELD5;;FIELD7;FIELD8;FIELD9;FIELD10;FIELD11;FIELD12;FIELD13;FIELD14;FIELD15;FIELD16;FIELD17;FIELD18;FIELD19;FIELD20;FIELD21;FIELD22;IT0006;IT0017;random information;IT0077;NaN;IT0105;... FIELD1;FIELD2;FIELD3;FIELD4;FIELD5;;FIELD7;FIELD8;FIELD9;FIELD10;FIELD11;FIELD12;FIELD13;FIELD14;FIELD15;FIELD16;FIELD17;FIELD18;FIELD19;FIELD20;FIELD21;FIELD22;IT0006;IT0017;NaN;IT0077;NaN;IT0105;... FIELD1;FIELD2;FIELD3;FIELD4;FIELD5;;FIELD7;FIELD8;FIELD9;FIELD10;FIELD11;FIELD12;FIELD13;FIELD14;FIELD15;FIELD16;FIELD17;FIELD18;FIELD19;FIELD20;FIELD21;FIELD22;IT0006;IT0017;NaN;IT0077;NaN;IT0105;...
gibt es die gleiche Anzahl von Spalten ...
- In der ersten Reihe, fügte ich
IT0006;
- in der zweiten Reihe, nie Spalte (das ist ein guter Fall)
- In der dritten Zeile habe ich
IT0006; IT0017; and NaN
hinzugefügt (weil ich keine Informa habe tion und NaN & hellip verwenden;) - in vierter hinzufügen Dieses
IT0017; NaN
I-Lösung mit PHP und gute Arbeits:
<?php
$sapFile = fopen("file.txt", "r") or die("Unable to open file!");
$typePers = array("Personale Viaggiante","Personale Interno");
$excludeFields = array("IT0006","IT0017","IT0077","Personale Viaggiante","Personale Interno","IT0105");
$emptyValue = "NaN";
$rowfinal = "";
// Output one line until end-of-file
while(!feof($sapFile)) {
$row = explode(";",fgets($sapFile));
$substring = "IT0006;IT0017;";
$lstr = "";
$rstr = "";
$type = array_intersect($row, $typePers);
$keys = array_keys($type);
if($keys == null) $type = $emptyValue;
else $type = $row[$keys[0]];
$j = 0;
for($i=0; $i<count($row); $i++){
if(in_array($row[$i],$excludeFields)){
unset($row[$i]);
$j++;
}
}
for($i=0; $i<22;$i++)$lstr .= $row[$i].";";
foreach($row as $k => $v)
if($k > 22)if(!empty($v))$rstr .= $v.";";
$rstr = substr($rstr,0,-1);
$substring .= $type;
$substring .= ";IT0077;NaN;IT0105;";
$rowfinal .= $lstr.$substring.$rstr;
}
$file = 'test.txt';
// Write the contents back to the file
file_put_contents($file, $rowfinal);
fclose($sapFile);
?>
Am Ende ich Dateien in CSV exportieren müssen (Header-Spalte hinzufügen)
Können Sie mir helfen, in Powershell-Skript zu transformieren?
Ich versuche klarer zu sein: Das ist richtig Fall: FIELD1; FIELD2; FIELD3; FIELD4; Field5 ;; Feld7; FIELD8; FIELD9; FIELD10; Field11; FIELD12; FIELD13; FIELD14; FIELD15; field16 FIELD17; FIELD18; FELD19; FIELD20; FIELD21; FELD22; IT0006; IT0017; Definierte_Informationen; IT0105 ... Aber ich kann es andere 3 Fälle haben: 1) H23 existiert aber nicht vorhanden H24 & H25 (In diesem Fall muss H25 gesetzt werden "NaN". 2) H23 nicht existiert, aber existiert H24 & H25 (in diesem Fall existiert sicherlich H24). 3) H23, H24 & H25 existiert nicht. Ich werde definitiv H22 Felder haben. Könnte den oberen 22 helfen ";" char .. – gaten
Was hast du probiert? (Dies ist kein Code-Schreibdienst.) –
Ich habe das Beispiel geändert ... – gaten