2016-06-02 7 views
0

Ich bin neu in Python und ich muss diesen Code ändern, um ein 1D-Array nicht ein 2D-Array zu haben.Dieser Code funktioniert perfekt, um Daten in eine Excel-Datei zu schreiben. Bitte helfen Sie mir, dies in ein 1D-Array zu ändern.Wie schreibt man Daten von 1D-Array in eine Excel-Datei von Python?

eg: only to enter as 1D array as below 
    expenses = [ 
     [1000], 
     [100], 
     [300], 
     [50], 
    ] 

import xlsxwriternter 

workbook = xlsxwriter.Workbook('20.xlsx') 
worksheet = workbook.add_worksheet() 

expenses = [ 
    ['Rent', 1000], 
    ['Gas', 100], 
    ['Food', 300], 
    ['Gym', 50], 
] 


row = 0 
col = 0 


for item,cost in (expenses): 
    worksheet.write(row, col,  item) 

    row += 1 



workbook.close() 
+0

Ich verstehe nicht, Ihre Frage, die Sie Inkrementieren 'row' so dass es die Elemente in den Zeilen wird vergeben, wenn Sie stattdessen erhöht' col' es würde schreiben trennen Spalten ... –

+0

Nein, was ich wirklich brauche ist, Daten aus einem 1D-Array zu übergeben und auf einem Excel-Blatt zu drucken. Dies ist ein Beispiel, das ich von einem Referenz-Tutorial gefunden habe. Http://xlsxwriter.readthedocs.io/tutorial01.html – Akisha

+0

so ändern Sie es, so dass es mit der ersten 'Ausgaben'-Liste funktioniert? das wäre einfach, ändern Sie einfach 'für Artikel, Kosten in (Ausgaben):' zu 'für Artikel, in (Ausgaben):' so dass Sie nur einen Artikel auspacken und nicht zwei. –

Antwort

1

Diese Frage im Grunde kommt es auf Tupel Auspacken, wurde das for-Schleife im ursprünglichen Code dies in expenses für jedes Element im Grunde tun:

item, cost = ['Rent', 1000] #unpacks 'Rent' to item and 1000 to cost 

wenn jedes Element von expenses einem einzigen nur besteht aus Element würden Sie ein einzelnes Element mit einem Hinter Komma nach dem variablen entpacken (wie, wie Sie mit einem einzigen Elemente Tupel tun)

item, = [1000] #unpacks 1000 to item 

so in der for-Schleife wäre es nur sein:

for item, in (expenses): 
    #^the trailing comma here!