Seite 1 von 1

Dateinamen suchen und umbenennen

Verfasst: Mittwoch 10. Mai 2023, 14:16
von Erichmo
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

Re: Dateinamen suchen und umbenennen

Verfasst: Mittwoch 10. Mai 2023, 14:29
von __deets__

Code: Alles auswählen

name = '4523_herbert_G_01'
parts = name.split('_')                   
print('_'.join(parts[:1] + parts[2:]))            

Re: Dateinamen suchen und umbenennen

Verfasst: Mittwoch 10. Mai 2023, 14:40
von Erichmo
__deets__ hat geschrieben: Mittwoch 10. Mai 2023, 14:29

Code: 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:



Re: Dateinamen suchen und umbenennen

Verfasst: Mittwoch 10. Mai 2023, 14:47
von __deets__
Indem du das ganze in eine Funktion packst, und die für jeden Namen aufrufst zb.

Re: Dateinamen suchen und umbenennen

Verfasst: Mittwoch 10. Mai 2023, 17:32
von __blackjack__
Randbemerkung: Für neuen Code würde man besser `pathlib` verwenden, statt `os.listdir()` & Co.