У меня есть каталог с большим количеством ZIP-файлов. ZIP-файлы содержат много CSV-файлов. Во-первых, я хочу изменить формат файлов CSV на паркет. Во-вторых, мне нужно переименовать все файлы паркета и сохранить данные в CSV. (Код ниже). Мне нужно работать с zip-файлами, а не извлекать файлы, чтобы сэкономить место для хранения.
Ниже приведен код для преобразования в .parquet.
flist = ul.get_flist(r"D:\Proyekan\Data yang udah di extract", "csv")
target_folder = "D:\\Proyekan\\Data yang udah di extract\\Parquet\\"
for i, fpath in enumerate(flist):
#fname = fpath.split('\\')[-1]
df = pd.read_csv(fpath)
fname = fpath.split('\\')[-1].split('.')[0] + '.parquet'
print(f"{i:03} ... Working on file ... {fname}")
df.to_parquet(f"{target_folder}{fname}", compression="gzip")
А ниже приведен код для переименуйте файлы
import os
import pandas as pd
#This is to rename files
path = "D:\Proyekan\Data FDM"
count = 1
ori_filename = []
new_filename = []
folder = []
head, tail = os.path.split(path)
for root, dirs, files in os.walk(path):
for file in files:
new_filecode = "flight_" + str(1000000 + count) +".mat"
ori_filename.append(os.path.basename(file))
new_filename.append(new_filecode)
folder.append(os.path.basename(root))
fullpath = os.path.join(root,file)
os.rename(fullpath, os.path.join(root, new_filecode))
count += 1
#Store data to csv
df = pd.DataFrame(list(zip(ori_filename, new_filename, folder)), columns = ['raw_file','file_id','tail_number'])
df.to_csv(r'D:\Proyekan\FILES\Metadata.csv',index = False, header = True)
Есть идеи, как мне отредактировать этот код для чтения ZIP-файлов? Любая помощь будет оценена