用python将标题写入excel文件

用python将标题写入excel文件,python,excel,xlsxwriter,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)

如何循环列表中的每个元素并将其作为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
我想做一些类似红色文本的事情
你似乎误解了两件事:

  • 要遍历整个循环,不需要范围或索引
  • 要将某些外部值替换为字符串,您不能执行正在执行的操作。Python对字符串没有任何特殊的处理

  • 您可以对
    j
    计数器使用
    enumerate
    ,并去掉一个单独的计数器变量

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

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

    您似乎误解了两件事:

  • 要遍历整个循环,不需要范围或索引
  • 要将某些外部值替换为字符串,您不能执行正在执行的操作。Python对字符串没有任何特殊的处理

  • 您可以对
    j
    计数器使用
    enumerate
    ,并去掉一个单独的计数器变量

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

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

    您可以使用Pandas和ExcelWriter模块

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

    DF的卓越表现

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

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

    您可以使用Pandas和ExcelWriter模块

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

    DF的卓越表现

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

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

    到目前为止,你得到的是黑色文本吗?什么是工作表?@asongtoruin是的,到目前为止,我得到的是黑色文本。。。。工作表是xlsxwriter模块的黑色文本到目前为止您得到了什么?什么是工作表?@asongtoruin是的,到目前为止,我得到的是黑色文本。。。。工作表来自xlsxwritermodule@COLDSPEED非常感谢,我已经用enumerate解决了这个问题。还有6分钟我才能接受你的邀请ans@COLDSPEED非常感谢,我已经用enumerate解决了这个问题。还有6分钟我才能接受你的回答写标题但它是从第二列开始的…你能告诉我为什么吗?你的意思是你有数据帧,在导出到csv的过程中它是从第二列开始的吗?嗯,我从来没有这样过。是否有可能在代码的某个地方减少列数?如果您在这里问另一个问题,可能会对您有所帮助:-)您必须如图所示指定索引:
    df.to_excel(writer,'Sheet1',index=0)
    它写的是标题,但它从第二列开始……您能告诉它为什么会这样吗?您的意思是您有数据帧,在导出到csv时它从第二列开始吗?嗯,从来没有发生在我身上。是否有可能在代码的某个地方减少列数?如果您在这里问另一个问题,可能会对您有所帮助:-)您必须如图所示指定索引:
    df.to_excel(writer'Sheet1',index=0)