2016-07-22 45 views
2

我在Excel工作表中隱藏了一堆列。我得到這個錯誤:AttributeError: can't set attribute從這一行worksheet.column_dimensions['B'].visible = False如何隱藏Openpyxl中的列?

對不起,如果這是一個超級簡單的問題。我剛剛更新到Openpyxl/Pandas的新版本,所以我現在不得不通過我的代碼並進行更改以適應新版本的文檔。另外,如果有人可以告訴我是否有更有效的隱藏列的方法,那我肯定可能會有這樣的情況,那將會很棒。

+2

請使用for循環爲您的代碼 – Yegers

+0

所以我會添加所有我想要的列隱藏到數組中,然後遍歷數組來隱藏每個數組是否正確? – Harrison

+1

是的,並嘗試從DeepSpace的答案 – Yegers

回答

7

您應該設置hidden屬性True

worksheet.column_dimensions['A'].hidden= True 

爲了隱藏多列:

for col in ['A', 'B', 'C']: 
    worksheet.column_dimensions[col].hidden= True 
+0

似乎並不是所有的列都需要隱藏,即'col ['C']','col ['AL']' 我們可能需要更多關於哪個列隱藏 – pwnsauce

+3

@pwnsauce我從來沒有建議所有列應該隱藏。這由OP來決定。我只是向他們展示瞭如何。 – DeepSpace

+0

@pwnsauce我不認爲這是OP – Yegers

2

列可以進行分組:

ws.column_dimensions.group(start='B', end='CU', hidden=True)