【问题标题】:CSV to MYSQL parse issueCSV 到 MYSQL 解析问题
【发布时间】:2010-07-12 16:24:09
【问题描述】:

我正在尝试将 .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 末尾添加了一个额外的空值。 是否有适用于此的正则表达式?

【问题讨论】:

标签: php mysql regex csv


【解决方案1】:

为什么不使用LOAD DATA INFILE

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

【讨论】:

  • +1。不要编写自己的 CSV 解析器。这比你想象的要难。你会弄错的。
猜你喜欢
  • 2015-10-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多