span8
span4
数据清洗test.fmw我有一个非常简单的工作空间,只是测试一个字符串是否有一个“”或者“:”在里面,如果是的话那么这些字符将被删除。我现在用的是Testfilter测试的字符,然后一个stringreplacer删除它们,然后我必须确保该字符串全部大写。有没有办法通过使用Testfilter字符串函数做这三项操作?我一直无法找出字符串函数是如何工作的。此外,将使用字符串函数加速翻译?我共有47万条记录,以测试和现在它需要4个小时才能运行。我使用FME2018。我已经包括了工作区和源CSV文件。谢谢。
你好@bd,
你可以做到这一点所有使用字符串函数,但是我不相信他们是在测试过滤器可用,因此我会使用属性管理器和STRING属性设置条件的值。
成立了两个测试,以查找字符串是否包含“”或“:”,然后将净的属性值,以
@UpperCase(@ReplaceString(@value(字符串),..., “”))
@UpperCase =以确保结果是全部大写,然后
@ReplaceString(<字符串>,<之前>,<之后>)和前到改变。或:相应。对于后必须把“”否则FME不承认,这是要求什么也没有被替换的字符串,就会失败。
最后一组什么别的也可以改成大写。
已经迅速完成你的测试数据这两种方法我没有找到使用字符串函数更快 - 使用FME 2018.1(约40%)4.1 VS7.1秒,所以我相信这会提高性能。所以这是使用模拟了基于我如何相信你以前做过PS你们的FMW文件没有上传。
PythonCaller:
类FeatureProcessor(对象)的:def __init __(个体):通DEF输入(个体,特征):feature.setAttribute( 'STRING',feature.getAttribute( 'STRING')\ .replace(, ' ')取代'。'。( ':', '')。上())self.pyoutput(特征)DEF接近(个体):通
我觉得这是更好的,因为它也将取代这两个字符,如果他们在相同的字符串occure。
无需做任何检查,只是暴力破解每个字符串。
©2019安全亚搏在线软件公司|法律