2012-05-23 66 views
0

我想如下寫字符串(它的標題行)使用csv.writer csv文件的一行:避免周圍的字符串數據的行報價與csv.writer

mbfile=open(pathtodata + "mbsensors.csv", "ab") 
writer=csv.writer(mbfile) 

writer.writerow(["ESReadings"]) 

i=1 
tempstring='DateTime' 

while i<=numsensors: 
    tempstring=tempstring+','+ "%02d"%i +'.Cooked' 
    i=i+1 

print tempstring 
writer.writerow([tempstring]) 
mbfile.close 

(我不不知道爲什麼第一行縮進 - 這不像我的代碼)。

在Linux中使用Python 2.7.3。

writer.writerow([「ESReadings」])寫得很好,沒有用雙引號引起來。

按預期在屏幕上顯示打印臨時字符串。

writer.writerow([tempstring])寫得很好,除了它有雙引號。

我將這些數據導入到Windows程序中,它不會像引號一樣,我該如何避免它們?

+0

你應該在的xrange(1,numsensors + 1)使用'因爲我:'而不是'while' –

回答

1

csv作者認爲你正在嘗試編寫單個條目,這就是爲什麼它將引號放在整個字符串周圍。您應該將行作爲列表(或其他可迭代的)字符串傳遞,並讓作者插入逗號。事情是這樣的:

tempstring=['DateTime'] 
while i<=numsensors: 
tempstring.append("%02d"%i +'.Cooked') 
i=i+1 
print tempstring 
writer.writerow(tempstring) 
+0

輝煌,完美。感謝您及時回答。 – tim2407