你可以简单的看这个领域。然后你会得到与它的CSV文件的属性。
单独的/由换行拆分(texteditor-> specialcharacters->换行)。爆炸列表。
连接datainspector变压器。
(如果字段名行具有不同的限定符,通过选择_element_index = 0分离它,以治疗是分开。否则,没有必要。)
通过从数据检查的特征信息窗口复制它导出字段名列表到一个txt列表。(在列表中选择{}属性名称和属性值与“缩进复制文本”并保存txt文件。
如果有包含逗号没有属性值,通过逗号,否则首次使用stringreplacer拆分例如通过替换一个反斜杠(经由文本编辑或复制反斜杠形成另一文件再次)。然后,stringreplacer除去预选赛,使用正则表达式这样你可以得到的第一个和最后(如不除去非排位赛“)的正则表达式= ^” |'$
现在ü可以用反斜杠(或任何你选择)分开。
使用更名重命名_list {}使用导入功能属性。(近FME版本除了我感到非常高兴)
我想,随着CSV模块PythonCaller是完美的这个时候,就已经拥有所有必要的机制,以处理大量的边缘情况下,像报价,换行等
尝试是这样的:
从fmeobjects导入*导入CSV类ParseCSVString(对象)的:def输入(个体,特征):csv_string = [feature.getAttribute( 'CSV_LINE')或 ''] csv_parser = csv.reader(csv_string),用于记录csv_parser:F = feature.clone() for n, value in enumerate(record): f.setAttribute('value{%s}' % n, value) self.pyoutput(f)
揭露属性列表“值{}”在PythonCaller。