2017-06-27 44 views
0

我遇到以下問題。我有一個for循環,我想在其中添加一個列表的新到的元素到csv文件中的新行。但是我的代碼有些問題。如果我打開這個文件,在這些行之間有一個空格,並且列表中的括號也是存在的。Python:將新行寫入csv in for循環

我的代碼片段:

allParameterCombi.append([fRC_Network1.jc,fRC_Network1.radius,fRC_Network1.frcSize, fRC_Network1.percent[0],fRC_Network1.percent[1],fRC_Network1.distType, fRC_Network1.ID]) 

    with open('parameterCombinatons.csv','a') as csv_file: 
     writer = csv.writer(csv_file, delimiter=";") 
     writer.writerow([allParameterCombi[count3-1]]) 
    count3 = count3 +1 

如何,它看起來像開了: enter image description here

+0

你能通過記事本給我一個輸出嗎?不擅長。此外,對「allParameterCombi」結構的暗示可能是有益的。 – Leonard2

+1

爲什麼在一個額外的'[]'集合中包裝'allParameterCombi [count3-1]'? –

+0

是的,這確實是一個錯誤!現在它承認列。但是線條之間的空間依然存在。 – Varlor

回答

1

你必須將它們傳遞給csv.writer像在此之前打開文件以二進制模式( 「ab」):

with open('parameterCombinatons.csv','ab') as csv_file: #python3 open('parameterCombinatons.csv','a',newline='') 
+0

謝謝,它的工作原理! a和ab有什麼區別? – Varlor

+0

@Varlor'b'表示在python2中以_binary_格式打開文件。 –

+0

參考此答案(https://stackoverflow.com/questions/1170214/python-2-csv-writer-produces-wrong-line-terminator-on-windows/1170297#1170297)以獲取更多詳細信息。 –