-1
我想重命名文件使用Excel表和熊貓,但我不斷收到IO錯誤。在「文件名」列中,我有原始文件名以及我希望它在「重命名」列中的內容。我知道還有其他方法可以做到這一點,但我不明白爲什麼以下方法無效。使用熊貓重命名文件
import os
import pandas as pd
from os.path import join
import shutil
dir = os.path.dirname(__file__)
excelFile = join(dir,'test.xlsx')
output_image_dir = os.path.join(dir,'PREAPPROVAL')
df = pd.read_excel(excelFile, sheetname='rename')
for x,y in zip(df['Filename'].astype('str'),df['rename']):
x = join(output_image_dir,x)
y = join(output_image_dir,y)
shutil.move(x,y)
Traceback (most recent call last):
File "D:\Dropbox\1. Projects\2. Python\2. X1\rename_images.py", line 26, in <module>
shutil.move(x,y)
File "c:\python27\lib\shutil.py", line 302, in move
copy2(src, real_dst)
File "c:\python27\lib\shutil.py", line 130, in copy2
copyfile(src, dst)
File "c:\python27\lib\shutil.py", line 82, in copyfile
with open(src, 'rb') as fsrc:
IOError: [Errno 2] No such file or directory: 'D:\\Dropbox\\1. Projects\\2. Python\\2. X1\\PREAPPROVAL\\VERT.jpg'
[Finished in 0.3s]
在重命名之前放入一個'x'和'y'的print,看路徑是否有意義。 –
您是否嘗試在'shutil.move'之前打印'x'並檢查其是否爲有效文件? –
@AnandSKumar我先打印了x。我甚至用列表理解[listdir(outputimagedir)中的f來代替我的zip的第一部分),它運行良好。我從數據框中打印出名字並將其與列表理解進行比較,並且看起來完全相同。 –