如何将数据框中包含的特定文件从一个文件夹复制到另一个文件夹

问题描述 投票:0回答:1

我有以下数据框:

import pandas as pd
df_Sensor = pd.DataFrame({'Name_Archive': ['SENSOR_1', 'SENSOR_250'], 
                                  'Type': ['Analog', 'Dig'],
                                  'Value': [199, 0]})

我的桌面上有两个文件夹。首先,“ Archive”文件夹包含具有以下名称的csv文件:

SENSOR_1.csv
SENSOR_198.csv
SENSOR_250.csv

(它的位置是:C:/ Users / User / Desktop / Archive)

另一个文件夹称为“ Archive_Select”,此文件夹为空。(它的位置是:C:/ Users / User / Desktop / Archive_Select)

我想浏览“名称档案”数据框列,并在新文件夹(Archive_Select)的(Archive)文件夹中创建该文件的副本。

例如,由于'Name_Archive'列包含'Archive'文件夹中我文件的2个名称,我希望当我打开'Archive_Select'文件夹时,只会显示文件:

SENSOR_1.csv #and 
SENSOR_250.csv

我尝试使用glob函数,但是我不知道该怎么做:

import glob
All_Archives = glob.glob("C:/Users/Usuario/Desktop/Archive/*.csv")

for i in range(0, len(df_Sensor)):
    for j in range(0, len(All_Archive)):
        if(df_Sensor['Name_Archive'].iloc[i] == All_Archive.iloc[j]):
            df_Sensor.to_csv("C:/Users/Usuario/Desktop/Archive_Select.csv")
python pandas dataframe glob
1个回答
0
投票

您首先定义源目录和目标目录

import pandas as pd
from shutil import copyfile
src_directory = "C:\Users\User\Desktop\Archive"
dest_directory = "C:\Users\User\Desktop\Archive_Select"

然后从数据框中循环访问所需文件以进行复制

for fileName in df_Sensor['Name_Archive']: 
    src_file = src_directory + "\\" + fileName + ".csv"
    dest_file = dest_directory + "\\" + fileName + ".csv"
    copyfile(src_file, dest_file)
© www.soinside.com 2019 - 2024. All rights reserved.