我有一个.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
”开始
任何帮助?
答案 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]