php - 解析在引号括起的文本中包含逗号的 csv 数据

标签 php csv parsing import double-quotes

我正在构建一个从 excel .csv 文件中提取数据并应用各种级别的格式设置、移动和映射的应用程序。除了清理数据的一个障碍外,几乎所有的事情都已经解决了。以下是来自 Excel 的数据示例:

  1. 伟大的表演,伟大的表演,57744 ROUND LAKE RD,NEW YORK,NY
  2. “GUASTAVINO'S, INC”,GUASTAVINO'S,8250 WESTHEIMER RD,NEW YORK,NY
  3. THE CLARKES GROUP LLC,HUGO'S FROG BAR,915 3RD AVE,CHICAGO,IL
  4. TRIOMPHE RESTAURANT CORP,"GEORGE'S,JEAN",1309 E PUTNAM AVE,NEW YORK,NY

由于第 3 行的第 2 行和第 4 行,我无法直接执行 explode()。这两行上都有一个“字符串,字符串”,我无法控制数据导出,只能在导入时进行清理。

我已经尝试了一些非优雅的选项,它正在扼杀处理时间。谁能想到一个优雅的解决方案?

我不能使用 MySQL 的 IMPORT 功能,很遗憾,它必须通过 PHP 处理。

最佳答案

您也可以尝试执行 SQL 语句:

LOAD DATA INFILE 'mydata.csv'
  FIELDS TERMINATED BY ','
  OPTIONALLY ENCLOSED BY '"';

我听说您使用 PHP,但您可以从 PHP 运行上面的语句。或者你的意思是输入是读取 CSV 而不是 CSV 文件的流?不幸的是,LOAD DATA INFILE 需要一个文件名,它不能接受标准输入。

关于php - 解析在引号括起的文本中包含逗号的 csv 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/385099/

相关文章:

javascript - 如何正确地将javascript嵌入到wordpress中

PHP:将图像名称插入数据库时​​出现重复/空白值

C - 断言失败错误

python - 将 Scrapy 请求 URL 添加到 Parsed Array 中

c - 类似预处理器的替换到解析器中

javascript - 数据未显示在选择标签中

php - 登录后重定向到旧链接

python - 多个目录的错误处理

parsing - LALR 与 LL 解析器

php - PHP解析/语法错误;以及如何解决它们