Datumsformat in Datei umwandeln

Das Thema hat zwar nur indirekt etwas mit IPS zu tun, würde sich vermutlich aber auch damit lösen lassen?

Problem:
Ich habe mehrere Dateien mit Buchungsdaten, die ein Programm nicht importieren will.
Ursache:
Das Datumsformat liegt hier als D11.27.25 vor, also DMM.DD.YY
Benötigt wird aber die Jahreszahl 4 stellig, sonst muss alles so bleiben.
Das Datum steht auch immer in einer separaten Zeile.

Hat hier jemand eine Idee oder kennt ein Programm, mit dem sich das einfach lösen lässt, anstelle von tausenden Buchungen manuell abzuändern?

Ich kenne mich hier im IPS mit Dateioperationen nicht aus, ob sich das damit verwirklichen lassen würde.

Wäre für jede Idee oder Input dankbar.

VG,
Doc

So eine Aufgabe löst ChatGPT in Sekunden. Man muss ihm vielleicht die dort etwas aufbereiten und sollten sensible Daten dabei sein, kann man die vor der Übergabe vielleicht herausnehmen und hinterher wieder einfügen.

Genau, das funktioniert verblüffend gut. Ich selbst codiere in Python, aber mit PHP wird es ebenso klappen.

Hier ein Prompt, den du @Doctor_Snuggles einfach auf chatgpt.com eingeben kannst. Heraus kommt Code + Erläuterungen.

Ich habe Textdateien, in denen Zeilen mit einem Datumscode umformatiert werden sollen. Das Eingabeformat ist DMM.DD.YY wobei das Jahr zweistellig mit YY codiert ist. Dieser Textteil soll konvertiert werden, aus der Jahreszahl YY soll 20YY werden. Anderer Text in der Datei soll nicht verändert werden. Ich benötige PHP Code.

Probier’s mal aus, du wirst verblüfft sein! Kannst du dann weiter verfeinern lassen für alle Dateien in einem Verzeichnis usw.

<?php

$inputFile  = "input.txt";
$outputFile = "output.txt";

$content = file_get_contents($inputFile);

// Regex für DMM.DD.YY → Jahr erweitern auf 20YY
$converted = preg_replace_callback(
    '/([A-Za-z])(\d{2}\.\d{2}\.)(\d{2})/',
    function ($matches) {
        return $matches[1] . $matches[2] . "20" . $matches[3];
    },
    $content
);

file_put_contents($outputFile, $converted);

echo "Konvertierung abgeschlossen.\n";

Hallo zusammen,
ich habe das mal mit ChatGPT getestet und mir eine EXE in Python erzeugen lassen, die diese Umwandelung macht.
Mit einer kleinen Datei hat das funktioniert, bei meinen großen Dateien mit Buchungen aus 29 Jahren bekomme ich immer noch einen Fehler, dass das Datumformat irgendwo nicht stimmt.
Das allerdings manuell rauszusuchen ist so wie mit der Stecknadel …

Ich muss mal schauen, wie ich das weiter geregelt bekomme.

Danke euch vür die Hilfe,
Doc

Das ist dann in den 1990ern?

Dann müsste man den Code noch entsprechend erweitern für YY Werte >30 mit vorgesetztem 19 anstatt 20.

1 „Gefällt mir“

Den Datensatz den ich ausprobiert hatte begann erst ab 2010, somit muss da noch etwas anderes mit der Datei sein.

Ich helfe gerne, aber dann bräuchten wir noch etwas konkrete Infos. War der Fehler im Datumsfeld oder ist das nicht feststellbar?

Momentan wird ja alle umgebaut, was dem Muster entspricht. Wenn man genauer festlegen kann, dass das umzubauenden Datum alleine einer Zeile steht usw. dann könnte man entsprechend verfeinern.

Ich habe mir jetzt die neue Version des Programms installiert, dieser Export ist jetzt verwendbar.
Was an dem alten Export mit dem Datum genau nicht funktioniert hatte kann ich nicht sagen.
Das war mir zu müßig da mehrere Tsd Zeilen zu überprüfen.

Danke dir für die Tips
Doc

Genau das ist aber die Stärke von KI. Wenn sie eins kann, dann in Sekunden solche Fehler in Listen finden.

Da das aber alles Bankdaten waren, wollte ich nicht unbedingt eine KI damit füttern.

1 „Gefällt mir“