我有以下数据框:
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:/用户/用户/桌面/ Archive_Select)
我想遍历“名称存档”数据框列并制作该文件的副本,该文件位于新文件夹(Archive_Select)的(Archive)文件夹中。
例如,由于“ Name_Archive”列包含“ 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")
答案 0 :(得分: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)