在python中将标题写入excel文件

时间:2017-09-08 11:02:33

标签: python excel xlsxwriter

如何遍历列表中的每个元素并将其作为excel标头?如果有重复的问题,请告诉我。到目前为止我找不到它。

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

我想做一些像红色的文字 enter image description here

2 个答案:

答案 0 :(得分:4)

你好像误解了两件事:

  1. 迭代整个循环,不需要范围或索引
  2. 要将某些外部值替换为字符串,您无法执行您正在执行的操作。 Python对字符串不做任何特殊处理。
  3. 您可以将enumerate用于j计数器并删除单独的计数器变量。

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

    免责声明:我不知道如何使用xlsxwriter,因此就编写标题的问题而言,这可能不是最好的方法。但是,这个答案的作用是解决你的错误。

答案 1 :(得分:3)

您可以使用Pandas和ExcelWriter模块

使用列表中的列创建空DF(即您的标题中的标题)

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=',')