doujin8673 2010-07-12 16:24
浏览 34
已采纳

CSV到MYSQL解析问题

I am trying to parse a .csv file into a mysql database, and it's not fun.

Some rows look like this:

"Value", Value, "Value3", ,"Value,Value"

And some look like this:

Value, Value, , Value, , Value

This preg_split worked well except for fields that were empty:

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

When I removed "PREG_SPLIT_NO_EMPTY", I got an extra, empty value added at the end of $item. Is there a regex expression that would work for this?

  • 写回答

1条回答 默认 最新

  • dtz63853 2010-07-12 16:29
    关注

    Why not use LOAD DATA INFILE

    Alternatively, use PHP's built in fgetcsv() or str_getcsv() functions rather than messing about with regular expressions trying to reinvent the wheel

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?