【问题标题】:Regular Expression to add quotes to CSV columns without quotes正则表达式将引号添加到不带引号的 CSV 列
【发布时间】:2014-11-09 03:25:28
【问题描述】:

我有 CSV 格式的数据,我无法更改格式。

有些列有双引号,有些没有引号。

唯一的问题,也是我首先需要添加双引号的原因是,某些列的数字带有逗号,但它们周围没有双引号 - 这导致 CSV 处理中断。

有没有办法区分正则表达式中的这两种逗号?

这是当前数据中示例行的一部分:

"NasdaqNM","-0.06 - -0.27%",19.00,25.75,1.04,1.28,0.50,21.75,17.67,1.97,6.652,3.40,1.77,95.2M,21.7642,22.8678,6,402," ====== "

如您所见,在应该是一个数字的 6,402 处,它将一分为二。

所以我想我的问题是 - 有没有办法分析 CSV 中的逗号并为正确的列生成双引号?

我正在使用 PHP。

【问题讨论】:

  • 你怎么知道6,402应该是一个数字?

标签: php csv


【解决方案1】:

简单的答案。不。 无法区分这两种情况。

简单测验: 这里有多少个数字:1,2,3,4,5

你不知道吗?所以你的电脑也无法做到这一点。

您需要用逗号引用包含数据,或者用逗号交换点。

如果您知道特定的 2 列是一个数字,您可以尝试在解析后合并它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-24
    • 1970-01-01
    • 2010-09-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多