我们使用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
如果我们使用 theescape_char => "\\"则\N替换为N
解析后的数据:
1973127,99,N
'\'此外,删除了 double 的数据
例如:D\\'Mello更改为D'Mello
如果我们删除escape_char => "\\",则数据将更改如下所示
解析前:
1539190,125,"\" SHIDDH - SHILA \"\
\"126"
解析后:
1539190,125,\\" SHIDDH - SHILA \\"\\n\\"126
解决此问题的最佳方法是什么?