Hallo zusammen,
ich möchte gerne Excel Dateien in einem Verzeichnis einheitlich umbenennen.
Die Dateinamen sind z.B. "4523_herbert_G_01" , "4523_herert_G_05" , ....
Als Variable gebe ich den Dateipfad vor und gebe die Infos "4523" sowie "G_01" als Input.
Ziel soll es sein das "herbert" aus dem Dateinamen zu entfernen. Wobei anstelle von herbert auch irgendetwas beliebig anderes stehen könnte.
Zusätzlich sollen die Dateien von 4523_G_01 bis 4523_G_26 erstellt werden, falls sie noch nicht vorhanden sind. Dafür sollte die Datei G_01 kopiert und umbenannt werden.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Zu meinem Problem: Ich verzweifle daran, den mittleren Teil des Strings zu entfernen und nur die beiden äußeren Teile des Dateinamens stehen zu lassen.
Ich habe mir über os.listdir(pfad) alle Dateinamen auflisten lassen und suchen nun die Funktion mit welcher ich die beliebigen Zeichen in der Mitte des Strings (im Beispiel "herbert") gezielt entfernen kann.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Vielen Dank vorab für die Hilfe!
Beste Grüße
Erichmo
Dateinamen suchen und umbenennen
Code: Alles auswählen
name = '4523_herbert_G_01'
parts = name.split('_')
print('_'.join(parts[:1] + parts[2:]))
__deets__ hat geschrieben: Mittwoch 10. Mai 2023, 14:29Code: Alles auswählen
name = '4523_herbert_G_01' parts = name.split('_') print('_'.join(parts[:1] + parts[2:]))
Hallo deets,
vielen Dank für deine schnelle Antwort.
Kann ich die Funktion auch direkt auf alle Listenobjekte anwenden?
Beispiel Code:
Code: Alles auswählen
import os
path = "C:\Users\meier.erik\Desktop\Test"
files = os.listdir(path)
for file in files:
- __blackjack__
- User
- Beiträge: 14053
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
Randbemerkung: Für neuen Code würde man besser `pathlib` verwenden, statt `os.listdir()` & Co.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari