评论和答案为“存储在数据库表剖析CSV数据” https://knowledge.亚搏在线safe.com/questions/78520/parse-csv-data-stored-in-database-table.html 对于这个问题的最新意见和答案“解析存储在数据库表CSV数据” 通过djmcdermott上djmcdermott的回答评论 https://knowledge.亚搏在线safe.com/comments/78534/view.html 完美的作品。谢谢。

周五,2018年9月14日14时58分51秒GMT djmcdermott
由吉奥对GIO的回答评论 https://knowledge.亚搏在线safe.com/comments/78528/view.html
我假设CSV是存储在一个单独的记录。
否则,第一部分(由换行符分裂)是没有必要的。
周五,2018年9月14日14时40分46秒GMT GIO
由吉奥回答 https://knowledge.亚搏在线safe.com/answers/78524/view.html

你可以简单的看这个领域。然后你会得到与它的CSV文件的属性。

单独的/由换行拆分(texteditor-> specialcharacters->换行)。爆炸列表。

连接datainspector变压器。

(如果字段名行具有不同的限定符,通过选择_element_index = 0分离它,以治疗是分开。否则,没有必要。)

通过从数据检查的特征信息窗口复制它导出字段名列表到一个txt列表。(在列表中选择{}属性名称和属性值与“缩进复制文本”并保存txt文件。

如果有包含逗号没有属性值,通过逗号,否则首次使用stringreplacer拆分例如通过替换一个反斜杠(经由文本编辑或复制反斜杠形成另一文件再次)。然后,stringreplacer除去预选赛,使用正则表达式这样你可以得到的第一个和最后(如不除去非排位赛“)的正则表达式= ^” |'$

现在ü可以用反斜杠(或任何你选择)分开。

使用更名重命名_list {}使用导入功能属性。(近FME版本除了我感到非常高兴)

周五,2018年9月14日14时38分42秒GMT GIO
通过david_r回答 https://knowledge.亚搏在线safe.com/answers/78523/view.html

我想,随着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。

CSV-line.fmwt

周五,2018年9月14日14时十一分55秒GMT david_r