2016-01-30 16 views
2

我想將輸出保存爲帶自定義名稱和分隔符的csv文件。 我試過這段代碼,但現在適用於我。在python中使用分隔符寫輸出

out = open('out.csv', 'w') 
for row in l: 
for column in row: 
    out.write('%d;' % column) 
out.write('\n') 
out.close() 

這裏是我的數據

100A7E54111FB143  
100D11CF822BBBDB  
1014120EE9CCB1E0  
10276825CD5B4A26  
10364F56076B46B7  
103D1DDAD3064A66  
103F4F66EEB54308  
104310B0280E4F20  
104E80752424B1C3  
106BE9DBB186BEC5  
10756F745D8A4123  
107966C82D8BAD8  

我想保存這樣

input.csv 
input_id data 
number 107966C82D8BAD8 | 10756F745D8A4123 | 106BE9DBB186BEC5 

的delmiter是 '|' .The數據是D型:對象

任何幫助將不勝感激。

+1

使用[''csv'模塊](http://docs.python.org/2/library/csv.html)。 –

+1

將'out.write('\ n')'替換爲'out.write('|')',但是您的結束字符是'| '如此檢測'即將結束的行'('如果是最後一個元素')。 – dsgdfg

回答

2

一個簡單的方法是使用Python 3.X的打印,如果你正在使用Python 2.x的然後從未來

from __future__ import print_function #Needed in python 2.x 

print(value, ..., sep=' ', end='\n', file=sys.stdout) 
+0

只是一個提示,可以在這裏使用解壓縮:'print(* row,sep ='',end ='\ n',file = sys.stdout)' – keksnicoh

3

採用進口打印一個作家爲CSV對象,而不是:

import csv; 

with open('out.csv', 'w', newline='') as out: 
    spamwriter = csv.writer(out, delimiter='|'); 
    spamwriter.writerow(column);` 

我已經ommited你的循環

+0

對不起,我無法從我的手機正確獲取縮進。降價問題 –

+0

我收到以下錯誤...回溯(最近呼叫最後): 文件「」,第1行,在 ValueError:關閉的文件上的I/O操作 –

+0

確保'for'循環是在'with'語句的範圍內 –