2014-09-03 110 views
0

我正在尝试将标题写入csv文件,但所有标题都写入了一个单元格。任何人都可以帮助我吗?python将标题写入csv,一个单元格中的所有标题

total_production_cost_w = open('Total_Production_Cost.csv','w')  
headers = ['Company', 'Pool', 'Steam Cost', 'Nuclear Cost', 'Turbine Cost', 'Variable O & M', 'Emission Fee Tax', 'Hydro Cost', 'Hydro Maintenance Cost', 'Total Production Cost'] 
total_production_cost_w.write('\t'.join(headers) + '\n') 
total_production_cost_w.close() 

回答

3

如果它是一个逗号- 分隔值文件要写入,那么你应该使用逗号作为分隔符,而不是一个标签,也许? :-)

尝试:

total_production_cost_w.write(','.join(headers) + '\n') 

代替:

total_production_cost_w.write('\t'.join(headers) + '\n') 

或者,更好的:使用csv模块。

+0

我投票支持csv模块。 – 2014-09-03 13:58:23

+0

非常感谢 – student 2014-09-03 21:22:58

4

您的代码的问题是您使用TAB来分隔列。对于csv,请将\t替换为,。但是,如果你正在处理csv,我强烈推荐csv模块:

import csv 

headers = ['Company', 'Pool', 'Steam Cost', 'Nuclear Cost', 'Turbine Cost', 'Variable O & M', 'Emission Fee Tax', 'Hydro Cost', 'Hydro Maintenance Cost', 'Total Production Cost'] 
with open('Total_Production_Cost.csv','w') as total_production_cost_w: 
    writer = csv.writer(total_production_cost_w) 
    writer.writerow(headers) 
相关问题