2010-05-20 91 views
1

當我嘗試寫入一個包含空白的字段時,它將被分割爲空間上的多個字段。這是什麼造成的?這讓我瘋狂。謝謝在Python中將空白寫入CSV字段?

data = open("file.csv", "wb") 
w = csv.writer(data) 
w.writerow(['word1', 'word2']) 
w.writerow(['word 1', 'word2']) 
data.close() 

我會得到第一個例子2字段(word1,word2)和第二個字段3(word1,word2)。

回答

3

不可再生的位置:

>>> import csv 
>>> data = open("file.csv", "wb") 
>>> w = csv.writer(data) 
>>> w.writerow(['word1', 'word2']) 
>>> w.writerow(['word 1', 'word2']) 
>>> data.close() 
>>> 
[1]+ Stopped     python2.6 
$ cat file.csv 
word1,word2 
word 1,word2 
$ 

你看到了什麼,當你做的正是這一點(或窗口相當於控制-Z退出,我這樣做是爲了supend的intepreter解釋,並得到一個shell提示符)?什麼確切的環境和Python的版本?

+0

返回了預期的效果。我在Openoffice中打開了CSV,並顯示了額外的字段。謝謝。我想我在測試時不應該依賴其他程序。我在Ubuntu/Python 2.6.5上。 – matt 2010-05-20 04:32:56

1

對於我關於Python 2.7,即得出:

word1,word2 
word 1,word2 

預期。

4

我認爲寫作是正確的;問題將在閱讀。你從來沒有說過你用來打開這樣生成的CSV。它可能是用逗號或空格分割字段。

UPDATE:試試這個,看看是否有幫助:

w = csv.writer(data, quoting=csv.QUOTE_ALL) 
+0

問題只是依靠Openoffice來檢查它。謝謝你。 – matt 2010-05-20 04:49:05