2013-02-05 42 views
2

我想從可以包含逗號的字符串列表中生成csv文件,因此我將引號內的字符串括起來,以便讓excel將該列作爲文本類型對待。只有第一列跳過逗號的CSV生成

但是我面對的奇怪的是,它只適用於第一列!所以,如果我有這樣

FirstColumn, SecondColumn 
"a, b"  , secondcolumnvalue 

它按預期工作,並返回我這個

enter image description here

,但如果我嘗試使用該文本

firstcolumn, secondcolumn 
"a, b"  , "c, d" 

它返回我的文字這

enter image description here

這是不正確的。

我嘗試了很多組合來使它工作,比如在字符串周圍放置多個引號對,只在逗號上加上引號等,但除第一個字段外沒有任何字段可用。

要檢查它是否與我的代碼沒有關係,我嘗試手動創建和檢查文件,但結果相同。

任何想法都是可觀的!

謝謝!

回答

2

擺脫值之間的空間,所以它是這樣的:

firstcolumn,secondcolumn 
"a, b","c, d" 

我不知道爲什麼這工作,但(有點測試後),似乎如果有一個空間,它會工作在逗號"a, b","c, d"之前,但如果," - "a,b", "c,d"之間有空格,則不會 - 所以我猜測Excel的解析器在查找引用條目時正在尋找令牌,"

+0

偉大的觀察人!非常感謝! :) –

+0

順便說一句,根據建議的[RFC 4180](http://tools.ietf.org/html/rfc4180#page-2)標準,空間應該被認爲是該領域的一部分,因此無論如何都可能最好忽略它們因爲你不知道他們是否會被閱讀計劃包括在內。 –

+0

對,明白了。謝謝! –