当前位置: 首页 > 知识库问答 >
问题:

mule 4读取csv文件跳过第一行

梁学真
2023-03-14

在 Mule 4 中,我正在读取一个大型 csv 文件进行转换,需要将内容写入数据库表。csv 文件没有标头。当我默认运行集成时,第一行被跳过,就好像默认值被预先确定为标题一样。

        <sftp:listener doc:name="On New or Updated File" doc:id="f36f06d1-9dd1-4ea6-80fc-016a1b0fb2ac" config-ref="SFTP_Config" directory="${inbounddirectory}" recursive="false">
            <scheduling-strategy >
                <fixed-frequency frequency="120000" startDelay="1" />
            </scheduling-strategy>
            <sftp:matcher filenamePattern="xyz*.csv" />
        </sftp:listener>
        <logger level="INFO" doc:name="Logger" doc:id="e36120be-559b-4c32-b241-74752b340f45" message="FILENAME #[attributes.fileName]"/>
        <ee:transform doc:name="Transform Message" doc:id="2b6cbad1-6484-4eed-9b26-cf01354c5690" >
            <ee:message >
                <ee:set-payload ><![CDATA[%dw 2.0
output application/java
---
payload map ((payload , indexOfPayload) -> {
data1:payload[0],
data2:payload[1],
data3:payload[2],
data4:payload[3],
data5:payload[4],
data6:payload[5]
})]]></ee:set-payload>
            </ee:message>
        </ee:transform>
        <logger level="INFO" doc:name="Logger" doc:id="239df117-9eb5-43b3-b913-469217b759dd" message="PAYLOAD #[payload]"/>

我看了一下应用程序类型。xml,看起来头被设置为false,如下所示

<types:property name="headerLineNumber" value="0"/>
<types:property name="header" value="false"/>
<types:property name="isQuotedString" value="false"/>

任何建议都将不胜感激。谢谢

共有2个答案

姚向晨
2023-03-14

不要研究应用程序类型.xml。该文件是自动生成的,不应该被人类读取。

您需要做的是确保在该有效负载的源组件上为CSV文件设置正确的读取器属性。在这个流程中,这就是<代码>

<sftp:listener ... outputMimeType="application/csv; header=false">
楚良平
2023-03-14

在 sFTP 侦听器属性中,转到 MIME 类型选项卡,从下拉列表中选择“应用程序/csv”,然后添加值为“false”的“标头”参数

 类似资料:
  • 问题内容: 我有一个笨拙的csv文件,我需要跳过第一行来阅读它。 我正在使用python / pandas轻松做到这一点 但是我不知道如何在Go中做到这一点。 错误: : 问题答案: 读取csv文件时跳过第一行 例如, 输出:

  • 当使用扫描仪对象从文本文件中读取时,我希望它跳过文件中的第一行。我该怎么做?

  • 问题内容: 这是我目前正在使用的行 要跳过包含标题的csv的第一行。我不想使用任何分隔符,除了默认的一个逗号(,)已在默认构造函数中提供。在参数化构造函数中,可以选择跳过否。行,但如何处理构造函数的第二和第三参数。 - 谢谢 问题答案: CSVReader类的此构造方法在读取文件时将跳过csv的第一行。

  • 问题内容: 使用扫描程序对象从文本文件读取时,我希望它跳过文件的第一行。我将如何做到这一点? 问题答案: 只需在while循环之前使用即可。如JavaDoc中所述,这将跳过第一行。 还有关于您的命名的注释。Java语言具有广泛接受的约定。类名总是以大写字母开头,变量名总是以小写字母开头(常量除外,但现在不必担心)。在这里阅读更多。

  • 本文向大家介绍python跳过第一行快速读取文件内容的实例,包括了python跳过第一行快速读取文件内容的实例的使用技巧和注意事项,需要的朋友参考一下 Python编程时,经常需要跳过第一行读取文件内容。简单的做法是为每行设置一个line_num,然后判断line_num是否为1,如果不等于1,则进行读取操作。 相应的Python代码如下: 然而这样每次迭代都需要判断一次,增加了时间开销,一种高效

  • 问题内容: 这是我的代码,我能够打印每行,但是当出现空白行时,它会打印;由于CSV文件格式,因此当空白行出现时我想跳过 问题答案: 如果要跳过所有空格行,则应使用以下测试:。 由于您可能需要做的事情不只是将非空白行打印到控制台上(不需要使用CSV模块),因此这里是一个涉及DictReader的示例: