-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCompressRead.py
More file actions
35 lines (30 loc) · 1.47 KB
/
Copy pathCompressRead.py
File metadata and controls
35 lines (30 loc) · 1.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import os
import zipfile
from datetime import datetime
import time
def compress_and_delete_csv_files(root_dir):
current_year = str(datetime.now().year)
oldtime = time.time()
for folder_name, subfolders, filenames in os.walk(root_dir):
if not filenames or folder_name == root_dir or current_year in folder_name or len(folder_name)!=24 or "2022" in folder_name or "2020" in folder_name or "2019" in folder_name:
continue
print(folder_name, time.time()-oldtime)
oldtime = time.time()
# Create a new zip file for each subfolder with the subfolder's name
compressed_file_name = os.path.basename(folder_name) + "_compressed_csv_files.zip"
zip_filename = os.path.join(folder_name, compressed_file_name)
# Store the file paths to be deleted after zipping
files_to_delete = []
with zipfile.ZipFile(zip_filename, "w", zipfile.ZIP_DEFLATED) as zip_file:
for filename in filenames:
if filename.endswith(".csv"):
file_path = os.path.join(folder_name, filename)
zip_file.write(file_path, os.path.basename(file_path))
files_to_delete.append(file_path)
# Delete the original CSV files after zipping
for file_path in files_to_delete:
os.remove(file_path)
print("Folder "+folder_name+" zipped")
if __name__ == "__main__":
root_dir = "/ix1/mladi/read"
compress_and_delete_csv_files(root_dir)