这段代码从一个CSV文件中读取图片路径,并将这些图片复制到指定的目标文件夹中,如果目标文件夹不存在,则会自动创建。
import pandas as pd
import shutil
import os
df = pd.read_csv('/root/workspace/wangzk/Gastric_Cancer_Project/PatchV0.1/datasplitv1/testv2.csv')
# 图片路径列名
image_column = 'img'
# 目标文件夹
destination_folder = '/root/workspace/wangzk/Gastric_Cancer_Project/PatchV0.1/datasplitv1/test_imgs'
# 创建目标文件夹如果不存在
if not os.path.exists(destination_folder):
os.makedirs(destination_folder)
# 复制图片
for image_path in df[image_column]:
if os.path.isfile(image_path):
shutil.copy(image_path, destination_folder)
print("所有图片已复制到目标文件夹。")
下面是对你提供的代码逐行解释:
import pandas as pd
import shutil
import os
- 导入所需的库:
pandas
用于数据处理,shutil
用于文件复制操作,os
用于文件和目录操作。
df = pd.read_csv('/root/workspace/wangzk/Gastric_Cancer_Project/PatchV0.1/datasplitv1/testv2.csv')
- 使用
pandas
读取指定路径的 CSV 文件,并将其内容存储在df
数据框中。
# 图片路径列名
image_column = 'img'
- 定义一个变量
image_column
,表示 CSV 文件中包含图片路径的列名为img
。
# 目标文件夹
destination_folder = '/root/workspace/wangzk/Gastric_Cancer_Project/PatchV0.1/datasplitv1/test_imgs'
- 定义目标文件夹的路径,所有图片将被复制到这个文件夹中。
# 创建目标文件夹如果不存在
if not os.path.exists(destination_folder):
os.makedirs(destination_folder)
- 检查目标文件夹是否存在。如果不存在,则创建该文件夹。
# 复制图片
for image_path in df[image_column]:
if os.path.isfile(image_path):
shutil.copy(image_path, destination_folder)
- 遍历数据框
df
中image_column
列的所有图片路径。- 对于每个图片路径,检查文件是否存在。
- 如果文件存在,则将其复制到目标文件夹。
print("所有图片已复制到目标文件夹。")
- 打印一条消息,表明所有图片已成功复制到目标文件夹。