У меня есть DataFrame, прочитанный с листа excel, в котором я создал несколько новых столбцов для использования Xlsxwriter. Теперь мне нужно отфильтровать этот новый набор данных, используя новый столбец, который я создал в Xlsxwriter (который является столбцом даты btw). Есть ли способ превратить этот новый рабочий лист в рамку данных снова, чтобы я мог фильтровать новый столбец? Я буду стараться предоставить любой полезный код:Поверните лист Xlsxwriter в Pandas Dataframe
export = "files/extract.xlsx"
future_days = 12
writer = pd.ExcelWriter('files/new_report-%s.xlsx' % (date.today()), engine ='xlsxwriter')
workbook = writer.book
df = pd.read_excel(export)
df.to_excel(writer, 'Full Log', index=False)
log_sheet = writer.sheets['Full Log']
new_headers = ('todays date', 'Milestone Date')
log_sheet.write_row('CW1', new_headers)
# This for loop just writes in the formula for my new columns on every line
for row_num in range(2, len(df.index)+2):
log_sheet.write_formula('CX' + str(row_num),'=IF(AND($BS{0}>1/1/1990,$BT{0}<>"Yes"),IF($BS{0}<=$CW{0},$BS{0},"Date In Future"),IF(AND($BW{0}>1/1/1990,$BX{0}<>"Yes"),IF($BW{0}<=CW{0},$BW{0},"Date In Future"),IF(AND($CA{0}>1/1/1990,$CCW{0}<>"Yes"),IF($CA{0}<=CW{0},$CA{0},"Date In Future"),IF(AND($CE{0}>1/1/1990,$CF{0}<>"Yes"),IF($CE{0}<CW{0},$CE{0},"Date In Future"),IF(AND($CI{0}>1/1/1990,$CJ{0}<>"Yes"),IF($CI{0}<CW{0},$CI{0},"Date In Future"),IF(AND($CM{0}>1/1/1990,$CN{0}<>"Yes"),IF($CM{0}<CW{0},$CM{0},"Date In Future"),"No Date"))))))'.format(row_num))
log_sheet.write_formula('CW' + str(row_num), '=TODAY()+' + str(future_days))
log_sheet.write_formula('CY' + str(row_num), '=IF(AND(AI{0}>DATEVALUE("1/1/1900"), AH{0}>DATEVALUE("1/1/1900"),A{0}<>"Test",A{0}<>"Dummy Test"),NETWORKDAYS(AH{0},AI{0}-1),"Test")'.format(row_num))
Так что теперь все сделано мне нужно отфильтровать этот «полный журнал» лист, так что только получает данные, где значение в новом столбце даты вехи прошло дату сегодня. Я использовал Xlsxwriters Autofilter для этого, но мне это не нравится, поскольку на самом деле фильтр не применяется. просто устанавливает его.
я получаю 'FileNotFoundError: [Errno 2] Нет такого файла или каталога:«Full Log» ' Ты уверен, что можно прочитать один созданный рабочий лист? – King