将文件夹中的文件转换为pdf

时间:2015-07-23 16:01:14

标签: python python-2.7 pdf filesystems xlsxwriter

我正在尝试完成将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") 

1 个答案:

答案 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)

希望有所帮助。如果这不是答案,那么您希望包含您在上述问题中获得的追溯。目前,没有足够的信息可以自信地回答您的问题。