Reputation: 373
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
I wanted to do something like the text in red
Upvotes: 2
Views: 25967
Reputation: 573
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=',')
Upvotes: 5
Reputation: 402243
You seem to have misunderstood two things:
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.
Upvotes: 4