有一个CSV文件,其中包含多个列,例如:
(身份证,价格,地址)
但在价格栏中,有一些奇怪的地方
例如,如果一行中没有价格数据,则会显示“ - ”
另外,如果价格要大得多。数字之间会有逗号,它会显示:$ 1,123,234.12
如何处理这些情况?
例如:
(1000, - ,纽约)
(1001,$ 1,100,100,波士顿)
(1002,$ 100,LA)
在CSV文件中,当使用PHP将这些数据插入MySQL数据库时,它应显示:
(1000,0,纽约)
(1001,1100100,波士顿)
(1002,100,LA)
在数据库中
有谁告诉我如何处理这个问题?我不知道如何处理这些情况。
答案 0 :(得分:0)
您可以在导入之前进行一些清理,例如
function csv_clean($csv_file){
$data = file_get_contents($csv_file);
$data = str_replace(' -,', ' NULL,', $data);
$data = preg_replace('/(?<=\d),(?=\d)|\$/', '', $data);
file_put_contents($csv_file, $data);
}
csv_clean('data.csv');
这将以所需格式保存CSV文件,然后您可以导入它。