我正在尝试完成将excel文件转换为文件夹中的pdf的程序。我遇到了文件名的问题。这就是我到目前为止所拥有的。任何有关如何完成它的帮助将不胜感激。
import win32com.client, types, pythoncom, sys, os, string
xlApp = win32com.client.Dispatch("Excel.Application")
for file in os.listdir("C:\Users\Desktop\ExcelFiles"):
if file.endswith(".xlsx"):
fileName = file
books = xlApp.Workbooks.Open("C:\Users\Desktop\ExcelFiles" + str(fileName))
ws = books.Worksheets[0]
ws.Visible = 1
fileName.replace(".xlsx","")
ws.ExportAsFixedFormat(0, "C:\Users\Desktop\PDF\" + str(fileName) + ".pdf")
答案 0 :(得分:1)
我认为问题在于这一行:
books = xlApp.Workbooks.Open("C:\Users\Desktop\ExcelFiles" + str(fileName))
您最有可能在ExcelFiles之后丢失一个尾部斜杠:
books = xlApp.Workbooks.Open("C:\Users\Desktop\ExcelFiles\" + str(fileName))
Python为这样的案例提供了跨平台os.path.join
函数。它将使用正确的特定于平台的斜杠连接路径字符串:
filepath = os.path.join("C:\Users\Desktop\ExcelFiles", fileName)
books = xlApp.Workbooks.Open(filepath)
希望有所帮助。如果这不是答案,那么您希望包含您在上述问题中获得的追溯。目前,没有足够的信息可以自信地回答您的问题。