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

时间:2017-02-20 12:17:07

标签: python scikit-learn talend

我有一个.py文件,我试图通过Talend使用tSystem模块执行。我收到了以下错误。

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]

这就是工作的样子。 here

奇怪,因为当我双击.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')

请注意,它成功导入了第一个库,错误从第二个库导入“unicode”开始

任何帮助?

1 个答案:

答案 0 :(得分:1)

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

中只找到了一个.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

其次,我使用命令unidecode

安装了pip install unidecode

我重新执行了talend工作,并且成功执行了!!

在2017年2月20日08:05开始工作MyJob。

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