【问题标题】:How to copy specific files, those contained on the dataframe, from one folder to another如何将数据框中包含的特定文件从一个文件夹复制到另一个文件夹
【发布时间】:2020-03-07 22:32:00
【问题描述】:

我有以下数据框:

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)

我想浏览“名称存档”数据框列并复制该文件,该文件位于新文件夹 (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】:

你首先定义你的源目录和目标目录

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)

【讨论】:

  • 完美运行,只需添加“r”:src_directory = (r"C:\Users\Usuario\Desktop\Archive") dest_directory = (r"C:\Users\Usuario\Desktop\Archive_Select ")
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-23
  • 2011-08-22
  • 1970-01-01
  • 2023-01-14
  • 1970-01-01
相关资源
最近更新 更多