Escribir encabezados para excel files en python

¿Cómo recorre cada elemento de una list y lo coloca como encabezado de Excel? Avíseme si hay una pregunta duplicada. No pude encontrarlo hasta ahora.

row=0 col=0 j = 0 title = ['No.', 'Hue', 'Saturation', 'Value', 'Lightness', 'AComponent', 'BComponent', 'Blue Channel', 'Green Channel', 'Red Channel'] for i in title[0:len(title)]: worksheet.write(row + 1, col + j, 'title[%i]', bold) j += 1 

Quería hacer algo como el text en rojo enter image description here

Parece que has entendido mal dos cosas:

  1. Para iterar en todo el ciclo, no se necesitan ranges o índices
  2. Para sustituir algún valor externo en una cadena, no puedes hacer lo que estás haciendo. Python no hace nada especial con la cadena.

Puede usar enumerate para el contador j y deshacerse de una variable contraria separada.

 for j, t in enumerate(title): worksheet.write(row + 1, col + j, t, bold) 

Descargo de responsabilidad: no sé cómo trabajar con xlsxwriter , por lo que respecta a la cuestión de escribir encabezados, esta puede no ser la mejor manera. Sin embargo, lo que hace esta respuesta es abordar tus errores.

Puede usar el module Pandas y ExcelWriter

Cree un DF vacío con columnas de su list (es decir, título en su caso)

 import pandas as pd title = ['No.', 'Hue', 'Saturation', 'Value', 'Lightness', 'AComponent', 'BComponent', 'Blue Channel', 'Green Channel', 'Red Channel'] df = pd.DataFrame(columns = title) #this create your empty data frame 

DF PARA EXCEL

 from pandas import ExcelWriter writer = ExcelWriter('YourCSV.xlsx') df.to_excel(writer,'Sheet1') writer.save() #this create Excel file with your desinetworking titles 

DF A CSV

 df.to_csv('YourCSV.csv', sep=',')