我是Python的新手,我想完成一個簡單的任務,但我有點卡住/困惑。我只需要一個我想要自動化的任務,它將當前日期追加到Excel文件的文件名中以便工作。用Python重命名的XLS文件損壞?
import os
import sys
import datetime
src_dir = os.path.normpath('\\\\EXAMPLE_SERVER_NAME\\x$\\Clients\\Public\\')
dir = os.listdir(src_dir)
now = datetime.datetime.now()
year = now.year
month = now.month
day = now.day
date = str(month) + '.' + str(day) + '.' + str(year)
new_filename = ''
for filename in dir:
if filename.startswith('MJ_ProdMaster'):
str_index = filename.index('.',0,len(filename))
new_filename = filename[:(str_index)] + ' ' + str(date) + '.xls'
new_filename = os.path.join(src_dir, new_filename)
old_filename = os.path.join(src_dir, filename)
os.rename(old_filename,new_filename)
當我在自由報辦公室開闢新更名爲XLS文件,我收到警告:
The file is corrupt and therefore cannot be opened. LibreOffice can try to repair the file.
The corruption could be the result of document manipulation or of structural document damage due to data transmission.
所以我的文件重命名顯然已經損壞它,即使表面上似乎重新命名文件正確。我不確定我是否已經損壞了它。次要的(但同樣重要的)問題是我的腳本應該做些什麼,因爲我顯然沒有成功完成重命名任務。
編輯:如果有任何其他信息,當我嘗試修復Libre Office內的文件時,錯誤讀取錯誤:未知或不支持的Excel文件格式。
你確定你沒有做類似'.xlsx'到'.xls'嗎?我不確定它們之間有什麼不同,但是當我這樣做時,我遇到了類似的錯誤。 – BenDundee
重命名之前,您可以打開原始文件嗎? – MattDMo
您重命名爲「MJ_ProdMaster *」。目錄中是否有以MJ_ProdMaster開頭但不是.xls文件的文件?如果是這樣,你添加了.xls擴展名,但它是無效的。 – tdelaney