我最近爲我們的一位員工編寫了郵件平臺以供使用。系統運行良好,規模很大,使用起來很有趣。然而,由於我無法弄清楚如何修復(相當缺乏經驗的開發人員),所以它目前無法運行。錯誤格式化時解析CSV以插入數據庫
的過程是這樣的......
- 上傳CSV文件到一個特定的FTP目錄。
- 轉至import_mailing_list頁面。
- 在FTP目錄中選擇一個CSV文件。
- 名稱並描述該列表包含的內容。
- 將文件標題與數據庫列相關聯。
然後,後端循環遍歷文件的每一行,將值與標題相關聯,並將這些值導入到數據庫中。
這一切都奇妙地工作,除了在特定情況下,當原始CSV格式不正確時。例如...
fname, lname, email
Bob, Schlumberger, [email protected]
Bobbette, Schlumberger
Another, Record, [email protected]
正如你所看到的,第二行有一個缺失的逗號。這會在嘗試拉取「valArray [3]」(或valArray [2],除了我的每種語言)的情況下導致錯誤。
我正在尋找最有效的解決方案來防止發生此錯誤。也許我應該檢查數組長度,並將其與我們將嘗試拉動的索引進行比較,然後再拉動它。但是爲每個價值做到這一點似乎效率低下。任何人有另一個想法?
我們的堆棧是ColdFusion 8/9和MySQL 5.1。這就是爲什麼我將數組索引稱爲[3]。
謝謝。我將使用你給出的第一個例子作爲條件。關於使其工作,你提出了一個非常好的觀點。我很感激你的意見,我一定會在將來記住它! – TaylorPLM 2012-03-01 19:02:48