excel - 使用 Python3 从大型 .xlsx 中高效提取工作表名称和列名称

标签 excel python-3.x performance pandas memory

有哪些 Python3 选项可以有效地(性能和内存)提取工作表名称和给定工作表,以及来自非常大的 .xlsx 文件的列名?

我试过使用 Pandas :

对于使用 pd.ExcelFile 的工作表名称:

    xl = pd.ExcelFile(filename)
    return xl.sheet_names

对于使用 pd.ExcelFile 的列名:
    xl = pd.ExcelFile(filename)
    df = xl.parse(sheetname, nrows=2, **kwargs)
    df.columns

对于使用 pd.read_excel 的列名有和没有nrows (>v23):
    df = pd.read_excel(io=filename, sheet_name=sheetname, nrows=2)
    df.columns

然而,pd.ExcelFilepd.read_excel似乎在内存中读取了整个 .xlsx,因此速度很慢。

非常感谢!

最佳答案

这是我可以与您分享的最简单的方法:

# read the sheet file
import pandas as pd
my_sheets = pd.ExcelFile('sheet_filename.xlsx')
my_sheets.sheet_names

关于excel - 使用 Python3 从大型 .xlsx 中高效提取工作表名称和列名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51783141/

相关文章:

vba - 禁用形状的右键菜单

string - 如何在 Python 3 字符串上使用 memoryview?

objective-c - 评估 if...else if... block 上的每个条件语句

C# Excel 互操作合并不起作用

excel - FindNext 返回错误值

python - 将 IntEnum 映射到第二组整数

c# - 在代码文件中添加更多命名空间会影响性能吗?

performance - sqlite.fetchall() 慢是正常的吗?

php - 使用 ethercalc API 导入 excel/csv 文件

python - 有没有办法在 Pyspark 中动态猜测架构?