2016-10-06 1 views
-1

Hier ist mein Code:einfügen Daten zeilenweise statt spaltenweise und 1 leere Zeile nach jedem Datensatz

wb = Workbook() 

dest_filename = 'book.xlsx' 
th_list = ["this", "that", "what", "is", "this"] 

ws1 = wb.active 
ws1.title = 'what' 

for row in range(1, 2): 
    for col in range(1, len(th_list)): 
     _ = ws1.cell(column=col, row=row, value="{0}".format(th_list[col].encode('utf-8'))) 

wb.save(filename = dest_filename) 

Nach dem Ausführen des py-Datei ich die Daten auf diese Weise erhalten:

 A  B  C  D  E 
1  this that what is this 

Während ich möchte die Daten auf diese Weise:

 A 
1  this 
2  that 
3  what 
4  is 
5  this 

und legen auch 1 leere Zeile zwischen jeder Zeile wie folgt aus:

 A 
1  this 
2 
3  that 
4 
5  what 
6 
7  is 
8 
9  this 

Ich versuche, meinen Code zu ändern, um die Anforderung zu erfüllen. Ich werde auch meinen Code als Antwort veröffentlichen, wenn ich die Lösung finde.

BEARBEITEN: Okay, ich habe erfolgreich Daten von Reihe-weise in spaltenweise konvertiert mit dem Ändern von Schleifen. Es ist jedoch immer noch nicht möglich, nach jedem Datensatz leere Zeilen hinzuzufügen. Hier ist der Code:

wb = Workbook() 

dest_filename = 'book.xlsx' 
th_list = ["this", "that", "what", "is", "this"] 

ws1 = wb.active 
ws1.title = 'what' 

for col in range(1, 2): 
    for row in range(1, len(th_list)+1): 
     _ = ws1.cell(column=col, row=row, value="{0}".format(th_list[row-1].encode('utf-8'))) 

wb.save(filename = dest_filename) 

Antwort

0

Ich habe die Lösung für meine beiden Fragen gefunden. Hier ist es:

wb = Workbook() 

dest_filename = 'book.xlsx' 
th_list = ["this", "that", "what", "is", "this"] 

ws1 = wb.active 
ws1.title = 'what' 

for col in range(1, 2): 
    for row in range(1, len(th_list)+1): 
     _ = ws1.cell(column=col, row=(row*2)-1, value="{0}".format(th_list[row-1].encode('utf-8'))) 

wb.save(filename = dest_filename) 
0

Warum schreiben Sie etwas so unglaublich kompliziert?

for v in th_list: 
    ws.append([v]) # pad as necessary, never encode 
    ws.append() # blank row 
Verwandte Themen