Python 无理由使用文件名作为前缀的Shutil Copy
我正在将一些文件从一个目录复制到另一个目录,这取决于它们是否是.xlsx文件。它每周复制大约50个文件,这是一个平稳的过程,但现在它正在复制其中一个文件,并在文件名中添加一个~$前缀,并且正确地复制文件。此~$文件也已损坏,这意味着当我在pandas中读取该文件时,它会出现错误 下面的代码是复制粘贴,它的前缀是Line Status_WCH.xlsx,它将其移动到新目录,但作为两个文件,一个文件名正确,另一个文件名为~$Line Status_WCH.xlsx 有人知道这件事的原因吗Python 无理由使用文件名作为前缀的Shutil Copy,python,pandas,shutil,Python,Pandas,Shutil,我正在将一些文件从一个目录复制到另一个目录,这取决于它们是否是.xlsx文件。它每周复制大约50个文件,这是一个平稳的过程,但现在它正在复制其中一个文件,并在文件名中添加一个~$前缀,并且正确地复制文件。此~$文件也已损坏,这意味着当我在pandas中读取该文件时,它会出现错误 下面的代码是复制粘贴,它的前缀是Line Status_WCH.xlsx,它将其移动到新目录,但作为两个文件,一个文件名正确,另一个文件名为~$Line Status_WCH.xlsx 有人知道这件事的原因吗 for f
for filename in os.listdir(getdirectory):
if filename.endswith(".xlsx"):
try:
book = os.path.join(getdirectory + filename)
print (book)
shutil.copy(book, putdirectory)
time.sleep(0.1)
errorbook = filename
except OSError:
print(str(errorbook) + " Workbook in use")
pass
这就是在尝试读取xlsx工作簿时崩溃的原因,并出现错误
xlrd.biffh.xlrd错误:不支持的格式,或损坏的文件:预期的BOF记录;找到b'\x15Packia'
if filename.endswith(".xlsx"):
try:
fName = os.path.join(homedir + filename)
print (fName)
fBase = os.path.basename(fName)
fRaw = os.path.splitext(fBase)[0]
df = pd.read_excel(fName)
这不应该是
os.path.join(getdirectory,filename)
而不是os.path.join(getdirectory+filename)
?嗯,总是使用+?但是os.path.join(…)
?我们的想法是在这两者之间添加一个路径分隔符,这样os.path.join('foo','bar')
,在类Unix系统上是foo/bar
,在Windows系统上可能是其他东西(通常是)。我对编码比较陌生,因此需要连接路径名