【发布时间】:2020-05-21 04:33:01
【问题描述】:
我正在尝试运行此 python 脚本以使用 SSIS 执行流程任务重命名和保存 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")
以下是流程详情:
我还使用存储 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".
【问题讨论】:
-
我的理解是 pythonw 立即退出,而 python 将保持打开状态直到执行完成。可能会出现的另一件事是可执行文件和 python 文件都将在您的文件夹中。当您尝试将其移动到服务器时,这些路径将无效
-
我对pyhton不熟悉,但是我在网上看到的,是否应该将变量FilePath值作为第二个参数传递给pythonw.exe(可以使用Expressions-tab创建arguments-string如果其中任何一个包含空格,则包含脚本路径和引号中的变量)?我认为 StandardInputValue 不能按您期望的方式工作。
标签: python excel ssis openpyxl