2

csvをcsvに変換しようとしています。私のデリリタは,、入力に特定のテキストがあり、コンマの例のようにも"Fun,Chair,tables"なりますが、引用符で囲まれます。Data Weave はこれを区切り文字と認識し、別の列に分割して応答します。

入力 CSV ファイルを見つけてください

 sequence,items
 1,Fun
 2,"Fun,chairs,tables"
 3,Games

しかし、次のように応答を得ます

Number,itemDetails
1,Fun
2,Fun\,Chair\,tables
3,Games

上記の応答では、2 番目の 2 つが分割されていますが、これはデータウィーバーを予期していません。

  %dw 1.0
  %output application/csv header=true 
   ---
  payload map { 
   Number:$.sequence,
   itemDetails:$.items

期待される反応は

 Number,itemDetails
 1,Fun
 2,"Fun,chairs,tables"
 3,Games

ここでの問題は"Fun,chairs,tables"、二重引用符をテストフィールドとして使用する必要があり、代わりにdata weaverこれを区切り文字と見なすことです。Data weave ヘッダーで、 と を試してみましquote= " "escape=" "。しかし、機能していません。Datamapper で同じことを試してみましたが、完全に正常に動作しています。ヘッダーで何かを行う必要があると信じていますが、何がわからないのですか??. Data Weave CSV 設定の読み取り構成プロパティのプロパティも確認しました。助け無し。

編集:DataWeaverエスケープシーケンスを使用すると、 %output application/csv header=true escape="\"" 以下が応答になります

Number,itemDetails
1,Fun
2,Fun",Chair",tables
3,Games

あなたの考えや提案は役に立ちます。前もって感謝します。

4

4 に答える 4

0

以下のようにリーダーのプロパティを変更する必要があります。csv入力の読み取り中にも同じ問題に直面しました。

<dw:reader-property name="escape" value="&quot;"/>

上記は私の場合に機能し、問題を解決しました

于 2019-11-15T04:19:27.810 に答える