我们使用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
解决此问题的最佳方法是什么?