从执行过程任务SSIS中运行.pyw文件。

问题描述 投票:0回答:1

我试图使用SSIS执行过程任务运行这个python脚本来重命名和保存一个Excel表。

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")

以下是过程的细节。

execute process task

我还使用了来自SSIS变量的输入变量来存储excel文件路径.并且使用了 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".
python excel ssis openpyxl
1个回答
1
投票

问题是你的参数值中有空格或特殊字符。请删除工作目录的值,只保留可执行文件和参数值,这些值应该足够运行脚本了。在SSIS包中的参数和可执行文件字符串中添加双引号,这将忽略文件路径字符串之间的空格。

我有一个小提示,如果你使用python在代码末尾运行数据过程,请在代码末尾加入以下内容

import sys
sys.exit(0)
© www.soinside.com 2019 - 2024. All rights reserved.