2012-04-24 45 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