Python Forum
Attribute Error for Rename / Replace
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Attribute Error for Rename / Replace
#7
Hi All -

I am writing a script that manipulate multiple a .ZIP file - right now my script renames the zip file, unzips the file directory and then deletes the zip file. What I am really struggling with is renaming the file within the now unzipped directory. I have multiple, newly unzipped folders all with files called "report.csv" within... These files need to be renamed based on their parent folder name. I have no idea how to do that.

Ex:
20191210.092030__ITFM_12-10-2019-02_17.zip --> ITFM.zip ...
C:\Users\m88576\Desktop\UnzipDirectory\ITFM\report.csv --> C:\Users\m88576\Desktop\UnzipDirectory\ITFM.csv

20191210.092030_Monthly_Service_Cost_12-10-2019-02-17.zip --> MonthlyServiceCost.zip ...
C:\Users\m88576\Desktop\UnzipDirectory\MonthlyServiceCost\report.csv --> C:\Users\m88576\Desktop\UnzipDirectory\MonthlyServiceCost.csv

TL;DR: I need the file (report.csv) in question to be named after its parent folder and be moved one folder up
Any advice or guidance would be extremely appreciated. Thanks!

My code:

import os, zipfile, string, re
from shutil import copyfile

###Parameters ###

dir_name = 'C:\\Users\\m88576\\Desktop\\UnzipDirectory' # Defines target directory
extension = ".zip" #Defines target extension (zip)
os.chdir(dir_name) # change working dir to target directory
print('1...Setting Parameters...')

###Rename Zip Files###

file_list = os.listdir(dir_name)

def rename_files(): #Obtain the file names from the folder
    for file_name in file_list: #Rename the files inside of the folder.
        os.rename(file_name, file_name.translate(str.maketrans('','','0123456789_-'))) #Removes characters noted to the left
rename_files()
print("2...Zip Files Renamed...")

##Unzip & Rename File Directories###

filename = ['report.csv']

for item in os.listdir(dir_name):  # loop through items in dir
    if item.endswith(".zip"):  # check for ".zip" extension
        file_path = os.path.join(dir_name, item)  # get zip file path
        with zipfile.ZipFile(file_path) as zf:  # open the zip file
            for target_file in filename:  # loop through the list of files to extract
                if target_file in zf.namelist():  # check if the file exists in the archive
                    target_name = os.path.splitext(file_path)[0] # generate the desired output name:
                    target_path = dir_name  # output path
                    zf.extractall(target_name) # extract file to dir
print("3...Files Unzipped...")                    

###Delete Zip Files###

for item in os.listdir(dir_name):
        if item.endswith(".zip"):
            os.remove(item)
print("4...Zip files deleted...")                               
                   
Reply


Messages In This Thread
Attribute Error for Rename / Replace - by warden89 - Jan-06-2020, 04:38 PM
Renaming files within Parent folders AFTER their parent folder - by warden89 - Jan-07-2020, 06:08 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Error: audioio has no attribute 'AudioOut' netwrok 3 686 Oct-22-2023, 05:53 PM
Last Post: netwrok
  cx_oracle Error - AttributeError: 'function' object has no attribute 'cursor' birajdarmm 1 2,456 Apr-15-2023, 05:17 PM
Last Post: deanhystad
  Getting 'NoneType' object has no attribute 'find' error when WebScraping with BS Franky77 2 5,318 Aug-17-2021, 05:24 PM
Last Post: Franky77
  Attribute Error received not understood (Please Help) crocolicious 5 2,726 Jun-19-2021, 08:45 PM
Last Post: crocolicious
  error in scapy attribute 'haslayer' evilcode1 5 6,601 Mar-02-2021, 11:19 AM
Last Post: evilcode1
  attribute error instead of correct output MaartenRo 2 2,222 Aug-28-2020, 10:22 AM
Last Post: Larz60+
  attribute error stumped on how to fix it. hank4eva 7 4,828 Aug-11-2020, 04:47 AM
Last Post: hank4eva
  Attribute Error - trying to create a pixel array out of PNG files The_Sarco 1 2,034 Apr-29-2020, 07:10 PM
Last Post: deanhystad
  Reading DBF files from Amazon s3 throwing error - 'int' object has no attribute 'isa abeesm 1 2,948 Sep-22-2019, 05:49 PM
Last Post: ndc85430
  Attribute Error Adit99 5 3,706 Aug-18-2019, 11:44 AM
Last Post: ichabod801

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020