Как скопировать указанные c файлы, содержащиеся в кадре данных, из одной папки в другую - PullRequest
2 голосов
/ 08 марта 2020

У меня есть следующий фрейм данных:

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

У меня две папки на рабочем столе. Сначала папка «Архив», в которой находятся файлы csv с именами:

SENSOR_1.csv
SENSOR_198.csv
SENSOR_250.csv

(ее местоположение: C: / Users / User / Desktop / Archive)

Другая папка называется "Archive_Select", эта папка пуста. (его местоположение: C: / Users / User / Desktop / Archive_Select)

Я бы хотел go через столбец данных Nameframe и скопировать этот файл, который находится в папка (Archive) в новой папке (Archive_Select).

Например, поскольку столбец «Name_Archive» содержит имя 2 моих файлов в папке «Archive», я хотел бы, чтобы при открытии в папке «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")

1 Ответ

2 голосов
/ 08 марта 2020

Сначала вы определяете свои исходные и целевые каталоги

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

Затем l oop поверх нужных файлов из кадра данных, чтобы скопировать их

for fileName in df_Sensor['Name_Archive']: 
    src_file = src_directory + "\\" + fileName + ".csv"
    dest_file = dest_directory + "\\" + fileName + ".csv"
    copyfile(src_file, dest_file)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...