![](/img/trans.png)
[英]Moving multiple files from a single folder to multiple folders according to their name
[英]Extract files from folders according to folder name list from csv
我有一個包含 1000 多個子文件夾的主文件,例如文件夾 1、文件夾 2、文件夾 3...文件夾 1000。在這些子文件夾中,每個文件夾中都有圖像。
我有一個 csv,它顯示了我希望從中提取圖像的子文件夾,例如文件夾 3、文件夾 7 和文件夾 10。
到目前為止,我已經設法編寫了從 csv 讀取所需子文件夾名稱的腳本,但是如何才能在特定子文件夾下提取這些圖像?
當前代碼如下所示:
import csv
with open("XXX.csv", "r") as csv_file:
treelist = []
csv_reader = csv.DictReader(csv_file, delimiter=',')
for lines in csv_reader:
x = lines['TREE_MARK']
treelist.append(x)
print(treelist)
這是一個非常簡單的示例,說明了如何實現這一點。 我正在使用 pathlib 獲取文件路徑,pandas 讀取子文件夾,通過子文件夾全局到 go 並獲取每個圖像(在我的情況下為 .png)和 skimage 用於讀取圖像
#!/usr/bin/env python
import pandas as pd
from pathlib import Path
from skimage import io
working_dir = Path('.')
# get list of desired folders
df = pd.read_csv('xxx.csv', names=['folder_names'])
# traverse through folders
for file in df['folder_names']:
# get complete file path
file_path = Path(working_dir.absolute(), file)
# look for png images in each sub folder
for file in file_path.glob('*.png'):
# read image
img = io.imread(file)
# process here...
編輯:根據您在評論中的 output :假設您有一個列表
folder_list = ['Folder 3', 'Folder 7', 'Folder 10']
您可以遍歷列表並閱讀我上面的答案中的單個圖像
# traverse through folders
for folder in folder_list:
# get complete folder path
file_path = Path(working_dir.absolute(), folder)
# look for png images in each sub folder
for file in file_path.glob('*.png'):
# read image
img = io.imread(file)
# process here...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.