如何在mulesoft中读取.csv文件

时间:2016-01-04 10:46:31

标签: csv mule mule-studio mule-component

我正在尝试读取mulesoft中的csv文件,可以告诉我该怎么做吗?如何告诉mulesoft要读取哪个文件?

12 个答案:

答案 0 :(得分:3)

每个人都在谈论转型,但你在问如何阅读。

您可能需要文件连接器,FTP,SFTP或某些SaaS应用程序。

您可以在此处找到使用Mule中的文件连接器读取CSV文件的示例:

https://www.mulesoft.com/exchange#!/importing-csv-into-mongodb

您将指定Mule应该轮询文件,轮询频率的路径,并且您可以指定Mule应使用正则表达式模式查找的模式。

https://docs.mulesoft.com/mule-user-guide/v/3.7/file-connector

答案 1 :(得分:1)

有两种方法可以做到这一点

1)使用Mule Datamapper组件(https://docs.mulesoft.com/mule-user-guide/v/3.6/datamapper-flat-to-structured-and-structured-to-flat-mapping

2)使用apachi poi api读取CSV文件和进程的Java组件。

谢谢&的问候,

Ramakrishna N

答案 2 :(得分:1)

要阅读文件,请按照以下步骤操作:

  

将File端点拖到您的流中。   单击文件端点并浏览基本设置下的路径   在“移至模式”字段中提供文件名。   您可以选择配置轮询频率和文件年龄。

现在,您的流配置为读取文件,您可以应用dataweave / transformers来处理有效负载中的数据。

希望这有帮助

答案 3 :(得分:1)

您可以通过在transform component中设置reader-property来读取csv文件。

   <dw:transform-message doc:name="Transform Message">
             <dw:input-payload doc:sample="sample_data\list_csv.csv" mimeType="application/csv">
                 <dw:reader-property name="separator" value="|"/>
                 <dw:reader-property name="header" value="false" />
             </dw:input-payload>

答案 4 :(得分:0)

最好使用DataWeave,这取决于您使用的Mule ESB Runtime的版本。

由于3.7.0 EE DataMapper已被弃用并被DataWeave取代

https://docs.mulesoft.com/mule-user-guide/v/3.7/dataweave-reference-documentation

如果您使用的是3.7之前的企业版,则可以使用DataMapper。

如果您使用社区运行时,则必须使用Java组件并创建自定义代码才能读取它。

答案 5 :(得分:0)

首先将tge csv文件转换为xml.A之后你必须使用xslt .Inside Xslt你可以根据languagcode进行分组。然后将它发送到文件。

此致 Prashanth A

答案 6 :(得分:0)

使用文件连接器。 添加文件正则表达式表达式要读取的文件格式

答案 7 :(得分:0)

您可以在“文件”属性的“常规”选项卡中找到文件名正则表达式过滤器。它用于配置过滤器以限制正在处理的文件。 您可以参考以下链接,根据您的要求指定过滤器。

请参阅以下链接以了解如何编写Regex过滤器: syntax for filename-regex-filter pattern in mule

答案 8 :(得分:0)

将端点拖到您的流程中。单击文件端点并浏览基本设置下的路径在“移动到模式”字段中提供文件名。您可以选择配置轮询频率和文件年龄。

答案 9 :(得分:0)

使用转换消息组件并定义元数据添加csv配置。你可以在那里改变标题和限制器和分离器。

答案 10 :(得分:0)

您需要将ffd或平面文件定义定义为方案定义,将其设置为侦听器的元数据,使用dataweave读取数据,并实现业务逻辑。

有关更详细的实施,请通过以下链接:
https://docs.mulesoft.com/mule-user-guide/v/3.8/dataweave-flat-file-schemas

答案 11 :(得分:-1)

确定文件名后,您可以使用解析模板或Groovy脚本来读取文件。

1. <parse-template location="my-resurce.txt" doc:name="Load resource as a String"/>
2. <scripting:component doc:name="Get file">                                        
    <scripting:script engine="Groovy"><![CDATA[new File('C:/project/src/main/resources/test.csv').getText('UTF-8')]]></scripting:script>
</scripting:component>

以下链接提供了有关可供选择的不同方法的更多详细信息。 mule read single file from classpath during flow