How do you loop through each element in a list and put it as excel header? Let me know if there is a duplicate question. I couldnt find it so far.
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
You seem to have misunderstood two things:
- To iterate over the whole loop, no ranges or indices are needed
- To substitute some external value into a string, you cannot do what you are doing. Python does not do anything special with the string.
You can use enumerate
for the j
counter and get rid of a separate counter variable.
for j, t in enumerate(title):
worksheet.write(row + 1, col + j, t, bold)
Disclaimer: I do not know how to work with xlsxwriter
, so as far as the question of writing headers is concerned, this may not be the best way. However, what this answer does is address your errors.
You can use Pandas and ExcelWriter module
Create empty DF with columns from your list (i.e. title in your case)
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 TO EXCEL
from pandas import ExcelWriter
writer = ExcelWriter('YourCSV.xlsx')
df.to_excel(writer,'Sheet1')
writer.save() #this create Excel file with your desired titles
DF TO CSV
df.to_csv('YourCSV.csv', sep=',')
来源:https://stackoverflow.com/questions/46114993/write-headers-to-excel-file-in-python