我正在尝试从csv中删除一些文件,
这是它的样子
print(len(file))
for index, item in enumerate(file['filenames']):
try:
Image.open(os.path.join(image_file_path,item.split('/')[-1]))
except Exception as e:
file.drop(index, inplace = True)
print(index)
pass
但这真的真的很慢。
所以我尝试了这种方法。
file = pd.read_csv('/home/data/dory_train/v1/ryan_01.csv', names = ['filepath', 'text'])
def multi_csv(csv_file):
for index, value in enumerate(file['filepath']):
try:
Image.open(value)
except Exception as e:
file.drop(file.index[index], inplace = True)
file.to_csv('/home/ryan/coco/loopandtest.csv', header = False, index = False)
print(index)
def mp_handler():
p = multiprocessing.Pool(12)
p.map(multi_csv, file)
if __name__ == '__main__':
mp_handler()
但是,即使这似乎并没有太大帮助,我首先担心的是,我是否正确实施了这种多处理?我可以做些什么来加快速度吗?
信息:我的CPU有12个内核,csv有2900000行。
谢谢。