2012-10-09 114 views
1

我的第一個問題:寫一行到CSV文件而不將其添加引號

writer.writerow(['Name,' 'Street,,' 'Address,,,']) 

上面的例子返回「名稱,街道,,地址,,,」

我需要它返回名稱,街,,地址,,,不帶引號。

我該怎麼辦?

+2

行情在CSV文件中並不是壞事。如果你的領域有一個逗號,報價是唯一告訴你,它不是一個分隔符。 –

+3

要創建一個字符串列表,逗號需要在字符串之間,而不是在它們之間。 (並且不要嘗試手動添加字面逗號到字符串來製作更多的列,這是行不通的。) – geoffspear

+0

我也不認爲你可以在Class上調用Writer,而是一個實例...只是如果你有'從csv導入作家'上面這一行...我懷疑你正在得到一些語法錯誤,如果這真的是你的代碼... –

回答

0
import csv 
with open("lame.csv","w") as f: 
     w = csv.writer(f) 
     w.writerow(["frank","tom","mike","paul"]) 

不把報價文件中....

如果你看到一個字符串在python他們總是有報價在再版...您可以使用打印不顯示引號是包裹一個python字符串...

+0

我試圖做類似的事情,並嘗試這種方式,但它仍然把每條線周圍的引號 – thnkwthprtls

6

不要在您的值中放入逗號。

writer.writerow(['Name', '', 'Street', '', '', 'Address', '', '', '']) 
+4

我認爲它應該是'writer.writerow(['Name','Street','','Address','',''])',並且可能值得提及_why_。 – martineau

9

Ignacio的回答是絕對正確的,是你想在實踐中使用的答案。

但是,如果您要指示csv永遠不要使用引號,這是問題似乎字面問的問題,您可以設置方言參數以引用csv.QUOTE_none。它看起來像:

theWriter = csv.writer(open('thefile.csv', 'wb'), 
delimeter = ',', quoting = csv.QUOTE_NONE) 

另外,如果你真的想微觀善有善報intot他的文件,你可以跳過CSV庫,只寫字符串的文件。

相關問題