2012-04-24 78 views
0

我想寫以下信息,以這種格式的CSV文件:寫入一個CSV與蟒蛇沒有括號

甲基銦,-40

但是我的輸出看起來像下面的與支架和-40各地報價:

甲基銦,[ '-40']

我的代碼如下。基本上,我正在通過csv文件搜索特定的短語,在本例中爲「Tmin」,並讀取右側的條目1單元格。然後我想寫「Tmin」和直接讀取到第二個csv文件的值。

我已經搜索了一種方法來刪除引號和括號,但一直未能得到它的工作。我對Python很新,所以任何幫助都會有所幫助。謝謝。

import csv 
fileInput = "Input.csv" 
fileOutput = "output.csv" 
Name_Column = 0 
Value_Column = 1 

with open(fileInput, 'r') as file: 
    reader = csv.reader(file) 
    Tmin = [line[Value_Column] for line in reader if line[Name_Column] == 'Tmin'] 
    print "Tmin=", Tmin #print to screen to check value read 

with open (fileOutput,'w') as file: 
    writer = csv.writer(file) 
    print writer.writerow(['Tmin',Tmin]) 

回答

3

python只是將Tmin作爲列表打印,您可以將CSV行作爲字符串打印,或者只打印行中的第一個元素。

嘗試

print "Tmin=", ", ".join(Tmin) 

print "Tmin=", Tmin[0] 

,如果你想通過CSV作家有CSV輸出,你需要一個列表,而不是一個列表內的列表:

嘗試

writer.writerow(['Tmin']+Tmin) #note this is already printing the result to a file so dont "print" the return value 
+0

您還需要一個ca st到int。它目前是一個字符串。 – JustinDanielson 2012-04-24 03:08:46

+0

@JustinDanielson:他爲什麼需要它是一個'int'?他只是再寫一遍。 – 2012-04-24 03:10:08

+1

錯誤,你不能加入一個int,並且CSV在技術上並沒有區分兩個 – tobyodavies 2012-04-24 03:10:19