python записывает заголовок в csv, все заголовки в одной ячейке

124
10

Я пытаюсь написать заголовки в файл 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()

спросил(а) 2021-01-25T14:30:39+03:00 4 месяца, 4 недели назад
1
Решение
99

Проблема с вашим кодом заключается в использовании 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)

ответил(а) 2021-01-25T14:30:39+03:00 4 месяца, 4 недели назад
88

Если это файл с разделителями-запятыми, который вы хотите записать, то вы должны использовать запятую как разделитель вместо вкладки, может быть? :-)

Пытаться:

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

вместо:

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

Или, лучше: используйте модуль csv.

ответил(а) 2021-01-25T14:30:39+03:00 4 месяца, 4 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема