2014-11-09 70 views
0

我已獲取CSV中的數據,但無法更改格式。正則表達式將引號添加到不包含引號的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," ====== " 

正如你可以看到,在6402,這應該是一個數字,它會分裂成兩個。

所以我想我的問題是 - 有沒有辦法分析CSV中的逗號並生成正確列的雙引號?

我正在使用PHP。

+0

你怎麼知道'6,402'應該是一個數字? – pguardiario 2014-11-09 06:59:42

回答

0

簡單的答案。第 這兩種情況是不可能區分的。

簡單測驗: 這裏有多少個數字:1,2,3,4,5

你不能說?所以你的電腦也無法做到這一點。

您需要引用包含數據的逗號,或交換點的逗號。

如果你知道具體的2列是一個數字,你可以嘗試合併後解析。

相關問題