加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-16 22:30:38 所属栏目:Python 来源:网络整理
导读:任何人都可以告诉我如何在Python中使用Pandas或任何其他模块读取没有隐藏列的Excel文件? 当我尝试使用Pandas读取excel文件时,例如: file_np = pd.read_excel(f_name) dataframe file_np始终包含所有列.从这个数据框中,我不知道如何识别哪个列隐藏在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 – 这里的目标是捕获隐藏的列,然后相应地进行过滤.希望这可以帮助!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读