首页 文章

当我使用PHP将数据从CSV插入MySQL时,如何处理奇怪数字

提问于
浏览
0

有一个CSV文件,其中包含多个列,例如:

(身份证,价格,地址)

但在价格栏中,有一些奇怪之处

例如,如果一行中没有价格数据,它将显示“ - ”

还有,如果价格要大得多 . 数字之间会有逗号,它会显示:$ 1,123,234.12

如何应对这些情况?

例如:

(1000, - ,纽约)(1001,$ 1,100,100,波士顿)(1002,$ 100,LA)

在CSV文件中,当使用PHP将这些数据插入MySQL数据库时,它应该显示:

(1000,0,纽约)(1001,1100100,波士顿)(1002,100,LA)

在数据库中

有谁告诉我如何处理这个?我不知道如何处理这些情况 .

1 回答

  • 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文件,然后您可以导入它 .

相关问题