我正在尝试读取mulesoft中的csv文件,可以告诉我该怎么做吗?如何告诉mulesoft要读取哪个文件?
答案 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