Python 正在从执行进程任务SSI运行.pyw文件
我正在尝试运行此python脚本,以便使用SSIS Execute Process Task重命名和保存Excel工作表Python 正在从执行进程任务SSI运行.pyw文件,python,excel,ssis,openpyxl,Python,Excel,Ssis,Openpyxl,我正在尝试运行此python脚本,以便使用SSIS Execute Process Task重命名和保存Excel工作表 import openpyxl import sys filePath = sys.argv[1:] print(filePath) WorkBook = openpyxl.load_workbook(filePath) print(WorkBook.sheetnames) Worksheet = WorkBook.sheetnames[1]; print(Workshee
import openpyxl
import sys
filePath = sys.argv[1:]
print(filePath)
WorkBook = openpyxl.load_workbook(filePath)
print(WorkBook.sheetnames)
Worksheet = WorkBook.sheetnames[1];
print(Worksheet)
WorkBook[Worksheet].title = 'TransactionSummary'
WorkBook.save(r"C:\Users\*****\Downloads\WeeklyFileLoad\test.xlsx")
以下是流程细节:
我还使用存储excel文件路径的SSIS变量中的输入变量,并使用sys.argv获取此文件路径
由于以下错误,我无法处理此任务:
[Execute Process Task] Error:
In Executing "C:\Users\****\AppData\Local\Programs\Python\Python38\pythonw.exe" "C:\Users\****\AppData\Local\Programs\Python\Python38\changingsheetname.py" at "", The process exit code was "1" while the expected was "0".
问题是参数值中有空格或特殊字符。请删除工作目录值并仅保留可执行文件和参数值,这些值应足以运行脚本。在SSIS包中的参数和可执行字符串中添加双引号这将忽略文件路径字符串之间的空格 我有一个小提示给你们,若你们正在使用python来运行代码末尾的数据过程,请包括
import sys
sys.exit(0)
我的理解是pythonw立即退出,而python将保持打开状态,直到执行完成。另一件可能出现的事情是,可执行文件和python文件都将位于您的文件夹中。当您尝试将其移动到服务器时,这些路径将无效。我不熟悉pyhton,但我在网上读到的内容是,如果您将变量FilePath值作为第二个参数传递给pythonw.exe,您可以使用“表达式”选项卡创建包含脚本路径的参数字符串,如果其中任何一个包含空格,则在引号中包含变量?我认为StandardInputValue没有按照您期望的方式工作。