0

Text::CSV_XS module次のオプションで CSV を解析するために使用しています。

my $csv = Text::CSV_XS->new ({ 
                              binary=> 1, eol => "\n", 
                              allow_loose_quotes => 1, 
                              allow_loose_escapes=> 1,
                              escape_char => "\\" 
                            });

CSV は、mysql LOAD DATA infile を使用して作成されます。NULL値がある場合は、フィールドにMYSQL追加します\N

データを解析する前に:

1973127,99,\N

を使用するescape_char => "\\"場合、\Nは に置き換えられますN

解析後のデータ:

1973127,99,N

また、 double のデータ'\'は削除されます

例:D\\'Melloに変更D'Mello

削除するescape_char => "\\"と、データは次のように変更されます

解析前:

1539190,125,"\" SHIDDH - SHILA \"\
\"126"

解析後:

1539190,125,\\" SHIDDH - SHILA \\"\\n\\"126

この問題を解決する最善の方法は何ですか?

4

1 に答える 1