通过 Talend tSystem 执行 Python 脚本文件时出错

Error executing Python script file through Talend tSystem

我有一个 .py 文件,我正尝试使用 tSystem 模块通过 Talend 执行该文件。我遇到错误。

Starting job MyJob at 07:06 20/02/2017.

[statistics] connecting to socket on port 3364
[statistics] connected
Traceback (most recent call last):
  File "H:\Talend POC\NameParsingUSData.py", line 7, in <module>
    from unidecode import unidecode
ImportError: No module named 'unidecode'
[statistics] disconnected
Job MyJob ended at 07:06 20/02/2017. [exit code=0]

这份工作是这样的。

奇怪,因为当我双击.py文件时,它执行并成功给出了结果。我还尝试在命令提示符下通过 cmd 命令行在 talend 外部执行该文件,它也成功运行。不确定可能导致错误的原因。以下是我的 Python 脚本供参考。

import os
from unidecode import unidecode
import pandas as pd

dat = pd.read_csv("H:\Talend POC\1M_dummyData.csv")

df1.myvar = df1.myvar.str.replace(r"[^a-zA-Z., ]",r' ')
df1.myvar = df1.myvar.str.replace('\s+', ' ')
df1.myvar = df1.myvar.str.lstrip(".,' ")
df=df1.as_matrix()

df1.to_csv("H:\Talend POC\results_USvalidemail_parse.csv",header=True,index=False, encoding='utf-8')

注意第一个库导入成功,错误从第二个库import'unicode'开始

有什么帮助吗?

我不知道它起作用的原因,但这就是我的技巧。我搜索了 Talend 数据集成转储中存在的任何 .py 文件,但我在目录

中只找到了一个
C:\Users\user\Downloads\TOS_DI-20161216_1026-V6.3.1\plugins\org.apache.ant_1.9.2.v201404171502\bin

我尝试在命令行中的这个目录中安装库。

首先我运行在命令行中输入以下代码进入目录。

cd /d C:\Users\user\Downloads\TOS_DI-20161216_1026-V6.3.1\plugins\org.apache.ant_1.9.2.v201404171502\bin

其次,我使用命令 pip install unidecode

安装了 unidecode

我 re-executed talend 作业并成功执行!!

在 08:05 20/02/2017 开始工作 MyJob。

[statistics] connecting to socket on port 3983
[statistics] connected
[statistics] disconnected
Job MyJob ended at 08:05 20/02/2017. [exit code=0]