Zuerst mal Hallo,
bin ein Newbie (erster Kontakt mit Python überhaupt) und kein Programmierer - ideale Bedingungen also
Problem:
Mein Boss hat mir die Aufgabe übertragen, bei einer csv-Datei die 3. und 4. Spalte zu verändern.
Konkret ist das eine lange csv-Datei, in Spalte 3 und 4 steht ein Datum im Format Monat/Tag/Jahr (2-stellig, us-en).
Dies soll nun im Format tt.mm.jjjj verändert werden. (deutsch).
Die Datei hat auch einen Header.
Habe dafür das Wochenende Zeit und habe keinen blassen Schimmer, wie ich das anstellen soll.
Bin schon darauf eingestellt, am Montag "habt acht" zu stehen, da ich mir nicht vorstellen kann, von 0 auf dieses Ergebnis zu kommen.
Die Datei ist so aufgebaut: (Erste Zeile Header, Spalten sind mit einem Komma getrennt und haben kein Leerzeichen nach dem Komma)
Text1,Text2,Datum1,Datum2,Text3,Text4
abcd,efgh,05/24/22,06/21/22,ijkl,mnop
Natürlich habe ich in meiner Verzweiflung gegoogelt, jedoch bin ich auf keine Lösung gestoßen.
Als Editor verwende ich Visual Studio Code, das läuft mal soweit (eine print-Ausgabe funktioniert schon mal)
Vom Ansatz her könnte ich mir Vorstellen, dass ich die Datei zeilenweise einlese, die erste Zeile so belasse und in eine neue csv-Datei schreibe und ab ab Zeile2 das Datum ändere und an die neue csv-Datei anhänge. Von der Theorie zur Praxis ist trotzdem ein starker Sprung.
Es muss in Python3 gemacht werden, da habe ich leider keine andere Möglichkeit.
Natürlich habe ich mir schon einige Beispiele angesehen, jedoch weiß ich nicht, was ich includen muss, etc...
Bin echt am verzweifeln und erbitte Hilfe.
csv-Datei, in 3. und 4. Spalte Datum verändern
Dein Arbeitsvertrag sieht also Wochenendarbeit vor, ansonsten ist Freizeit Freizeit und Arbeit ist Arbeit.
In Python wird nichts "included", sondern importiert, und zum Verarbeiten von CSV, am besten das csv-Modul.
Zum Parsen von Datum gibt es datetime.datetime.strptime, und zum Formatieren im gewünschen Format entsprechende Formatangaben.
Am besten arbeitest Du erst einmal ein Grundlagentutorial durch, damit Du die Grundkenntnisse drauf hast.
In Python wird nichts "included", sondern importiert, und zum Verarbeiten von CSV, am besten das csv-Modul.
Zum Parsen von Datum gibt es datetime.datetime.strptime, und zum Formatieren im gewünschen Format entsprechende Formatangaben.
Am besten arbeitest Du erst einmal ein Grundlagentutorial durch, damit Du die Grundkenntnisse drauf hast.
- __blackjack__
- User
- Beiträge: 13114
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Das kann man doch mit einem kleinen AWK-Skript lösen.
Code: Alles auswählen
#!/usr/bin/awk -f
function convert_date(old, _parts) {
split(old, _parts, "/")
return _parts[2] "." _parts[1] ".20" _parts[3]
}
BEGIN {
FS=","
OFS=FS
}
FNR == 1 {
print
next
}
{
$3=convert_date($3)
$4=convert_date($4)
print
}
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman