【发布时间】:2022-01-22 08:41:24
【问题描述】:
我有一个带有标题和这些值的 CSV 文件:
"20000160";"20000160";"177204930";"Zusammendruck ""Blumen"" nk 01.03.07";"2021";"01";"EUR";"599.000";"599,000";"599.00";"599,00 EUR";"EUR";"0.00";"0,00 EUR";"0.00";"0,00 EUR";"EUR"
"20000000";"20000000";"1013";"Einschreiben";"2021";"01";"EUR";"0.000";"0,000";"22.80";"22,80 EUR";"EUR";"0.00";"0,00 EUR";"0.00";"0,00 EUR";"EUR"
"20000000";"20000000";"1018";"Rückschein";"2021";"01";"EUR";"0.000";"0,000";"6.60";"6,60 EUR";"EUR";"0.00";"0,00 EUR";"0.00";"0,00 EUR";"EUR"
"8003325905";"8003325905";"233800118";"Prof.Services: Datenmanagement;Pauschale";"2021";"01";"EUR";"0.000";"0,000";"600.00";"600,00 EUR";"EUR";"0.00";"0,00 EUR";"108.00";"108,00 EUR";"EUR"
我将文件读取连接器配置为转义"Zusammendruck ""Blumen"" nk 01.03.07",它正在工作:
<file:read doc:name="Read CSV, Set MIME Type" doc:id="bb378f83-d0ea-4951-8253-8253953ed9e7" path="${outputCSV}" outputMimeType='application/csv; streaming=true; quote="\""; separator=";"; escape="\""' outputEncoding="UTF-8" />
但我还必须转义 ; 才能正确解析 "Prof.Services: Datenmanagement;Pauschale"。我尝试将模式配置为escape="\"|;",但收到警告:
警告 2021-12-20 16:59:34,604 [[MuleRuntime].uber.26: [测试].upload.BLOCKING @27454a45] [处理器:;事件: [eb625e31-61b5-11ec-a30d-00090ffe0001] org.mule.weave.v2.model.service.DefaultLoggingService$:选项
escape="|;需要长度为1的值,但得到了"|;。只有 第一个字符将被使用,其余的将是 忽略。
考虑到示例数据,如何正确读取和解析数据?
【问题讨论】:
-
您在哪个版本的 Mule 上试用?是否在基本版本之上应用了每月补丁?
-
只是mule 4.4.0,没有补丁
标签: csv escaping mule dataweave