2016-04-26 7 views
1

Gibt es eine Funktion zum Ausfüllen einer Spalte? Ich versuche, eine Formel in C2 zu schreiben und möchte sie dann bis zum Ende der Daten ausfüllen. Ich habe das Gefühl, dass es einen einfachen Weg dafür gibt, aber ich habe noch nichts durch Googlen gefunden. Jede Hilfe wird geschätzt!Ausfüllen mit xlsxwriter

worksheet.write(1,2, '=IF(ISNUMBER(SEARCH("21",B2)),"x","")') 

Das ist der Code, den ich mit C2 füllen muss. Dann möchte ich, dass diese Formel die B2 ausfüllt, während sie sich füllt. Genauso, wie wenn Sie in Excel auf die untere rechte Ecke der Zelle doppelklicken würden.

+0

In welchem ​​Format sind Ihre Daten in? Sie müssen mehr Informationen geben, wenn Sie Hilfe benötigen ... Beispielcode wäre auch nett. – flyingmeatball

+0

Ich habe weitere Informationen hinzugefügt; Es ist eine ziemlich einfache Frage. Ich kann einfach keine Antwort finden. Vielen Dank. – Wes

+0

Sie könnten dies viel einfacher in Pandas tun - es hat eine Vorwärts-Füll-Methode (df.ffill) und hat eine Write-to-Excel-Methode (df.to_excel). Ich habe gefragt, ob du die Daten schon in Pandas hast. Wenn nicht, kann es nicht schaden, den Pandas-Datenrahmen zu konvertieren, dann wenden Sie diese beiden Funktionen an. – flyingmeatball

Antwort

0

Sie können dies tun, um eine einfache Schleife und einer der utility Funktionen XlsxWriter mit:

import xlsxwriter 
from xlsxwriter.utility import xl_rowcol_to_cell 

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

for row_num in range(1, 10): 
    cell = xl_rowcol_to_cell(row_num, 1) 
    formula = '=IF(ISNUMBER(SEARCH("21",%s)),"x","")' % cell 
    worksheet.write(row_num, 2, formula) 

workbook.close() 
+0

Ich entschied mich kurz nach der Veröffentlichung für diese Lösung. Ein bisschen zusammengewürfelt meiner Meinung nach aber es macht die Arbeit gut gemacht. – Wes

+0

Wenn die Antwort richtig ist und es die von Ihnen verwendete Lösung ist, sollten Sie sie als akzeptiert markieren. – jmcnamara