2016-04-26 1 views
1

Есть функция, чтобы заполнить столбец? Я пытаюсь написать формулу в C2, а затем хочу, чтобы она заполнила до конца данные. Я чувствую, что есть простой способ сделать это, но я еще ничего не нашел через googling. Любая помощь приветствуется!Как заполнить с помощью xlsxwriter

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

Это код, который я должен заполнить C2. Затем я хочу, чтобы эта формула заполняла настройку B2 при ее заполнении. Так же, как если бы вы дважды щелкнули нижний правый угол ячейки в excel.

+0

Какой формат ваши данные в? Вам нужно предоставить больше информации, если вы хотите помочь ... Пример кода будет приятным. – flyingmeatball

+0

Я добавил дополнительную информацию; это довольно простой вопрос. Я просто не могу найти ответа. Благодарю. – Wes

+0

вы можете сделать это намного проще в пандах - он имеет метод прямой заливки (df.ffill) и имеет метод write to excel (df.to_excel). Я спросил, есть ли у вас данные в пандах. Если нет, может не помешать преобразовать в dataframe панд, а затем применить эти две функции. – flyingmeatball

ответ

0

Вы могли бы сделать это с помощью простого цикла и одна из функций XlsxWriter utility:

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

Я решил пойти с этим решением вскоре после публикации. Немного сбитый, по моему мнению, но он выполняет свою работу хорошо. – Wes

+0

Если ответ правильный, и это решение, которое вы использовали, вы должны пометить его как принятое. – jmcnamara