首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何删除CSV标头中的额外空格

如何删除CSV标头中的额外空格
EN

Stack Overflow用户
提问于 2020-03-21 03:25:31
回答 3查看 858关注 0票数 0

在Mulesoft (Version4.2.1)中,我将CSV文件作为输入,而在header中,我得到了一些空格和标题名称,这是我没有想到的。例如,我得到的是'FirstName‘而不是'FirstName’。如何在处理前从标头中移除额外的空格。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-03-21 23:06:30

这是一种方法。

代码语言:javascript
复制
%dw 2.0
output application/json
import * from dw::core::Objects
var headers=keySet(payload[0]) reduce ((key, acc = {}) -> acc ++ { (trim(key)): key})
fun searchKeyTrimmed(row, h)=row[headers[h]]
---
payload map {
    a: searchKeyTrimmed($,'a'),
    b: searchKeyTrimmed($,'b')
}

输入:

代码语言:javascript
复制
a , b,c,d 
1,2,3,4

输出:

代码语言:javascript
复制
[
  {
    "a": "1",
    "b": "2"
  }
]
票数 2
EN

Stack Overflow用户

发布于 2020-03-21 12:17:22

在您的情况下,Mulesoft只是转换引擎。它与标题中的空格无关。如果标头有'FirstName‘,那么您应该按原样使用这个列名。也可以通过额外的转换将其转换为另一个名称,如下所示:

代码语言:javascript
复制
%dw 2.0
output application/json
---
{
    FirstName: payload['FirstName ']
}
票数 0
EN

Stack Overflow用户

发布于 2022-09-07 13:34:17

map迭代数组中的项。$是值(对象)。

mapObject迭代对象。$$是键(csv中的头),$是值(该键在行中的值)。

替换为,用于搜索字符串(键),在本例中为空格(""),并将其替换为空字符串(“")。因此,标题中的所有空格都将被删除。

代码语言:javascript
复制
%dw 2.0
output application/csv
---
payload map ($ mapObject ($$ replace " " with ""):$)

FYI -对于json输出格式,请将application/csv更新为application/json

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60784170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档