2013-06-27 48 views
0

我有以下代碼,其中將一些數據寫入.csv文件並讀取它。當窗口上運行腳本時,正在按如下方式編寫數據:有一個新行與空的空間被添加,當相同的腳本在linux上運行時,沒有空的空間......任何人都可以提供它的原因是什麼?在窗口中添加了空白空間的新行

trend.csv

6/26/2013 9 

6/26/2013 9 

6/26/2013 9 

import csv 
import datetime 
from collections import deque 
#from collections import maxlength 

icount=9 
now = datetime.datetime.now() 
time =now.strftime("%m/%d/%Y") 
#Keep appending date and count everytime this script is run 
c = csv.writer(open("trend.csv", "a")) 
c.writerow([time, icount]) 

with open('trend.csv','rU') as fin: 
    reader=csv.reader(fin) 
    d=deque(reader,8) 
print "Data" 
print d 
for l in d: 
    print l[0] 
    print l[1] 

回答

0

使用sys.stdout.write而不是printprint添加換行符。

sys.stdout.write(l[0]) 
sys.stdout.write(l[1]) 
+0

將數據寫入.csv文件本身時,會出現一個新行,其中包含正在寫入的單元格... print正在閱讀時正在發生..因此,我不確定上述內容是否會解決 – user2341103

+0

@ user2341103,使用二進制模式打開csv文件(「trend.csv」,「ab」)')。 – falsetru

0

在讀取輸入行後總是修剪輸入行是一種很好的做法,因爲不同操作系統上的Python以不同方式解釋換行符。

+0

如何修剪...將數據寫入.csv文件本身時,會寫入一個正在寫入單元格的新行。 – user2341103