gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-30 01:19:10 25 4
gpt4 key购买 nike

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

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

file_np = pd.read_excel(f_name)

dataframe file_np 总是包含所有列。从这个数据框中,我不知道如何识别隐藏在 Excel 文件中的列。谢谢!

最佳答案

我不认为 pandas 是开箱即用的。

输入

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]

附言

我知道我可以完成 colDimension.hidden == False 或简单的 if not colDimension.hidden - 这里的目标是捕获隐藏的列然后执行相应地过滤。希望这对您有所帮助!

关于python - 使用 Pandas 或其他模块在 Python 中读取没有隐藏列的 Excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49292496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com