2014-01-19 44 views
0

我想寫列表寫作柱不帶引號

someList=["a=1.0,2.0,3.0","b=1.0,2.0,3.0"] 

爲單柱,兩行的文件,它看起來像(周圍的每一行沒有引號):

a=1.0,2.0,3.0 
b=1.0,2.0,3.0 

不過,如果我使用下面的代碼:

import csv 
myfile = open("/home/user/fileName", 'wb') 
wr = csv.writer(myfile) 
for c in someList: 
    wr.writerow(c) 

那麼它不會給我想要的東西:

a,=,1,.,0,",",2,.,0,",",3,.,0 
b,=,1,.,0,",",2,.,0,",",3,.,0 

回答

1

隨着數據已經格式化,使用文件對象的write方法寫入整個列表到文件中。只要確保在新行添加爲行分隔符的加入行:

實施

with open("/home/user/fileName", "w") as fin: 
    fin.write('\n'.join(someList)) 

輸出

a=1.0,2.0,3.0 
b=1.0,2.0,3.0 
+1

最後的換行符這不會寫入文件,許多文本編輯可能會有點不安。 –

+0

@MartijnPieters:我從來沒有遇到過沒有尾隨換行符的問題。你有這樣的編輯器的例子嗎? – Abhijit

+1

這不僅僅是文本編輯器,工具處理文件也可能(錯誤地)假定每行在最後都有一個行分隔符。我目前沒有直接的編輯器示例。 –

1

你的線路是已經格式化;它們不是CSV行。

就直接將數據寫入文件,用換行:

with open("/home/user/fileName", 'w') as myfile: 
    for line in someList: 
     myfile.write(line + '\n')