【发布时间】:2020-07-25 17:43:18
【问题描述】:
我的目录有很多 ZIP 文件。 ZIP 文件包含大量 CSV 文件。首先,我想将 CSV 文件的格式更改为 parquet。其次,我需要重命名所有 parquet 文件并将数据存储到 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 文件?任何帮助将不胜感激
【问题讨论】:
-
忍受我。哪个先出现? IIUC,您想读取 zip 文件中的 csv 文件,然后转换为镶木地板。所以 zip -> csv -。镶木地板?还是他们分开任务?
-
是的,就像这样,如果可以的话,我想在 1 个任务中完成。
-
看看this 看看是否有帮助
-
对不起,我认为这没有帮助,因为它只读取 1 个 zip @sammywemmy
标签: python pandas for-loop rename