CSV到MYSQL解析问题

时间:2010-07-12 16:24:09

标签: php mysql regex csv

我正在尝试将.csv文件解析为mysql数据库,这并不好玩。

有些行看起来像这样:

“价值”,价值,“价值3”,“价值,价值”

有些看起来像这样:

价值,价值,价值,价值

除了空白字段外,这个preg_split效果很好:

foreach ($row as $item) {
     $item = preg_split( "/[,]*\\\"([^\\\"]+)\\\"[,]*|[,]+/", $item, 0, PREG_SPLIT_DELIM_CAPTURE|PREG_SPLIT_NO_EMPTY);
}

当我删除“PREG_SPLIT_NO_EMPTY”时,我在$ item的末尾添加了一个额外的空值。 是否有适用于此的正则表达式?

1 个答案:

答案 0 :(得分:8)

为什么不使用LOAD DATA INFILE

或者,使用PHP的内置fgetcsv()str_getcsv()函数,而不是弄乱试图重新发明轮子的正则表达式