使用Pandas或其他模块在Python中读取没有隐藏列的Excel文件

前端之家收集整理的这篇文章主要介绍了使用Pandas或其他模块在Python中读取没有隐藏列的Excel文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

任何人都可以告诉我如何在Python中使用Pandas或任何其他模块读取没有隐藏列的Excel文件

当我尝试使用Pandas读取excel文件时,例如:

file_np = pd.read_excel(f_name)

dataframe file_np始终包含所有列.从这个数据框中,我不知道如何识别哪个列隐藏在Excel文件中.
谢谢!

最佳答案
我不认为熊猫是开箱即用的.

输入

enter image description here

不幸的是,你必须做一些冗余阅读(两次). openpyxl做你想要的 –

import openpyxl
import pandas as pd

loc = 'sample.xlsx'
wb = openpyxl.load_workbook(loc)
ws = wb.get_sheet_by_name('Sheet1')

hidden_cols = []
for colLetter,colDimension in ws.column_dimensions.items():
    if colDimension.hidden == True:
        hidden_cols.append(colLetter)

df = pd.read_excel(loc)
unhidden = list( set(df.columns) - set(hidden_cols) )
df = df[unhidden]
print(df)

产量

    C   A
0   1   7
1   9   7
2   5  10
3   7   7
4   4   8
5   4   6
6   9   9
7  10   3
8   1   2

说明

首先使用openpyxl读取文件

loc = 'C:/Users/FGB3140/Desktop/sample.xlsx'
wb = openpyxl.load_workbook(loc)
ws = wb.get_sheet_by_name('Sheet1')

在单元格中搜索隐藏属性(这是捕获隐藏列的位置)

hidden_cols = []
for colLetter,colDimension in ws.column_dimensions.items():
    if colDimension.hidden == True:
        hidden_cols.append(colLetter)

使用pandas读取相同的文件 – df = pd.read_excel(loc)

通过从其余部分中减去隐藏的列来查找未隐藏的列 –

unhidden = list( set(df.columns) - set(hidden_cols) )

最后,过滤掉隐藏的列 –

df = df[unhidden]

P.S

我知道我可以做colDimension.hidden ==如果没有colDimension.hidden则为False或simple – 这里的目标是捕获隐藏的列,然后相应地进行过滤.希望这可以帮助!

猜你在找的Python相关文章