2017-09-08 1 views
0

Wie durchlaufen Sie jedes Element in einer Liste und legen Sie es als Excel-Header? Lassen Sie es mich wissen, wenn es eine doppelte Frage gibt. Ich konnte es bisher nicht finden.Schreiben Sie Header in Excel-Datei in Python

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 

Ich wollte so etwas wie der Text in rot enter image description here

+0

Ist das schwarz Text was du bis jetzt bekommst? Was ist 'Arbeitsblatt'? – asongtoruin

+0

@asongtoruin ja der schwarze Text ist, was ich bis jetzt bekomme .... Arbeitsblatt ist von xlsxwriter Modul – SacreD

Antwort

3

Sie scheinen tun verkannt zwei Dinge:

  1. über die gesamte Schleife zu durchlaufen, werden keine Bereiche oder Indizes benötigt
  2. Um einen externen Wert in eine Zeichenfolge zu ersetzen, können Sie nicht tun, was Sie tun. Python macht mit der Zeichenfolge nichts Besonderes.

Sie können enumerate für den j Zähler verwenden und einer separaten Zählvariable loszuwerden.

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

Haftungsausschluss: Ich weiß nicht, wie mit xlsxwriter arbeiten, um so weit wie die Frage des Schreibens Header angeht, ist dies nicht der beste Weg sein kann. Was diese Antwort jedoch tut, ist Ihre Fehler zu adressieren.

+1

@COLDSPEED Vielen Dank, ich habe es geschafft, es bereits mit Ihrer Lösung mit enumerate. Stil hat 6 Minuten, bevor ich Ihre Ans annehmen kann – SacreD

2

Sie verwenden können, Pandas und ExcelWriter Modul

Erstellen leer DF mit Spalten aus der Liste (dh Titel in Ihrem Fall)

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

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 in Excel

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

seine Überschrift schreiben, aber seine ab der zweiten Spalte .... können Sie sagen, warum es so? –

+0

Meinst du, dass Sie Datenframe haben und beim Export nach CSV von der zweiten Spalte startet? –

+0

ja richtig .... –