[英]How to write Pandas Dataframe Horizontally in to Excel sheet from python openpyxl (elements in same row, consecutive columns)
[英]Python how to create excel with autofilter from pandas dataframe and openpyxl
我嘗試使用自動過濾器從Python pandas數據框創建一個excel文件,以默認顯示無效數據。
這是我的輸入數據框df:
ITEM RESULT
A1 VALID
A2 VALID
A# INVALID
我想在現有的excel文件“ filter_output.xlsx”上添加工作表“過濾器測試”,並將自動過濾器設置為“結果”列,以默認情況下僅顯示“無效”數據。
這是我的代碼:
import pandas as pd
from openpyxl import load_workbook
workbook=load_workbook('filter_output.xlsx')
writer = pd.ExcelWriter('filter_output.xlsx', engine='openpyxl')
writer.book=workbook
df.to_excel(writer, 'filter test', index=False)
ws=writer.sheets['filter test']
ws.auto_filter.ref='A:B'
ws.auto_filter.add_filter_column(1, 'INVALID', blank=False)
writer.save()
workbook.close()
我收到以下錯誤:
ws.auto_filter.add_filter_column(1, 'INVALID', blank=False)
File "C:\Python27\lib\site-packages\openpyxl\worksheet\filters.py", line 357, in add_filter_column
self.filterColumn.append(FilterColumn(colId=col_id, vals=vals, blank=blank))
File "C:\Python27\lib\site-packages\openpyxl\worksheet\filters.py", line 315, in __init__
self.filters.filter = vals
File "C:\Python27\lib\site-packages\openpyxl\descriptors\sequence.py", line 26, in __set__
raise TypeError("Value must be a sequence")
TypeError: Value must be a sequence
關於如何解決此錯誤的任何想法嗎? 有沒有更好的方法來創建具有自動篩選功能的excel,以僅顯示pandas數據框的默認值?
我一直在尋找相同的東西,但找不到錯誤。 嘗試/錯誤使我做出了您需要使用列表的決定
ws.auto_filter.add_filter_column(1, ['INVALID'], blank=False)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.