如何从 Talend 中的 CSV 中提取键值
How to extract key values from CSV in Talend
我有如下的 csv 数据文件:
`Column1` `Column2` `Column3`
{'name':'Steve Jobs'} , {'first_name':'Steve'} , {'last_name':'Jobs'}
{'name':'Mark Zuckerberg'} , {'first_name':'Mark'} , {'last_name':'Zuckerberg'}
{'name':'Steve Jobs'} , {'first_name':'Steve'} , {'last_name':'Jobs'}
我希望使用 Talend 工具获得如下数据:
`name` `first_name` `last_name`
Steve Jobs Steve Jobs
Mark Zuckerberg Mark Zuckerberg
Steve Jobs Steve Jobs
您可以使用 substring()
和 indexOf()
函数来实现。
解释:
- 由于键和值由
:
分隔,我们可以在 :
之后和 }
之前添加子字符串
- 为了得到
:
和}
的位置,我们可以使用indexOf
函数
下面是三列在tMap中使用的条件,
row1.Column1.substring(row1.Column1.indexOf(":")+2, row1.Column1.indexOf("}")-1)
row1.Column2.substring(row1.Column2.indexOf(":")+2, row1.Column2.indexOf("}")-1)
row1.Column3.substring(row1.Column3.indexOf(":")+2, row1.Column3.indexOf("}")-1)
结果,
我有如下的 csv 数据文件:
`Column1` `Column2` `Column3`
{'name':'Steve Jobs'} , {'first_name':'Steve'} , {'last_name':'Jobs'}
{'name':'Mark Zuckerberg'} , {'first_name':'Mark'} , {'last_name':'Zuckerberg'}
{'name':'Steve Jobs'} , {'first_name':'Steve'} , {'last_name':'Jobs'}
我希望使用 Talend 工具获得如下数据:
`name` `first_name` `last_name`
Steve Jobs Steve Jobs
Mark Zuckerberg Mark Zuckerberg
Steve Jobs Steve Jobs
您可以使用 substring()
和 indexOf()
函数来实现。
解释:
- 由于键和值由
:
分隔,我们可以在:
之后和}
之前添加子字符串
- 为了得到
:
和}
的位置,我们可以使用indexOf
函数
下面是三列在tMap中使用的条件,
row1.Column1.substring(row1.Column1.indexOf(":")+2, row1.Column1.indexOf("}")-1)
row1.Column2.substring(row1.Column2.indexOf(":")+2, row1.Column2.indexOf("}")-1)
row1.Column3.substring(row1.Column3.indexOf(":")+2, row1.Column3.indexOf("}")-1)
结果,