2017-01-02 42 views
0

假設input.csv有一行這樣的:的Python:當我讀到一個CSV文件的行,然後將其寫入到一個單獨的CSV文件,這一切都爲一個單元格

1,2,3,4,5 

讓我們也說, output.csv是空的,但我想它包含

numbers:,1,2,3,4,5 

我使用的代碼:

with open('output.csv', 'w') as out: 
    wr = csv.writer(out, delimiter=',', lineterminator = '\n') 
    with open('input.csv',"rt") as in: 
     for line in csv.reader(in, delimiter=','): 
      wr.writerow(['numbers:',line]) 

然而,當我這樣做,output.csv包含:

numbers:,"[1,2,3,4,5]" 

我在做什麼錯?

+0

旁白:這不可能是你的代碼,因爲'in'是一個關鍵字,因此不能被用來作爲變量名。在提問時,請張貼實際的[mcve],而不僅僅是類似於給你問題的代碼。 – DSM

回答

0

writerow需要一個數組並將該數組的每個元素寫入CSV文件。您傳遞了兩個值:'numbers:'和您從另一個文件讀取的數組。這就像你這樣稱呼:

w.writerow(['a', ['b', 'c', 'd']]) 

其中寫道:a,"['b', 'c', 'd']"

你只想wr.writerow(line)

0

我想你想結合「數字:」和你的線從原來的文件到一個列表。要做到這一點,你可以使用列表連接。 我會重寫你的腳本的最後一行以下列方式:

row = ['numbers:'] + line 
wr.writerow(row) 
相關問題