如何使用 pandas 从 XLS(X) 读取单个值
pandas 可以方便地用于从 Excel 读取值表。从实际 Excel 表格提取数据时,通常有未结构化为 pandas 可读表格的元数据字段。
阅读 pandas 文档,如何提取固定位置的单个单元格值(不带任何关联标题)并不明显,例如:

在此示例中,我们想提取单元格 C3,即我们想得到值为 Test value #123 的字符串。由于此 Excel 表格中没有清晰的表格结构(其他单元格可能包含我们不感兴趣的其他值 - 例如标题或表头),我们不想要 pd.DataFrame 而只是字符串。
你可以这样做:
read_single_value_from_excel.py
def read_value_from_excel(filename, column="C", row=3):
"""从 Excel 文件读取单个单元格值"""
return pd.read_excel(filename, skiprows=row - 1, usecols=column, nrows=1, header=None, names=["Value"]).iloc[0]["Value"]示例用法
read_value_from_excel(“Test.xlsx”, “C”, 3) # 打印
让我们解释作为 pd.read_excel() 参数使用的参数:
Test.xlsx:你要读取的文件名skiprows=2:行号减一,使所需行是我们读取的第一行usecols="C":我们感兴趣的列 - 只有一列!nrows=1:只读取单行header=None:不假设我们读取的第一行是表头行names=["Value"]:将单列的名称设置为Value.iloc[0]:从结果pd.DataFrame中,通过索引 (iloc) 获取第一行 ([0])["Value"]从结果行中,提取"Value"列 - 这是唯一可用的列。
在我看来,对于大多数实际用例(即更关注开发速度而非执行速度),使用 pandas 是提取的最佳方式,因为它不仅为 .xls 和 .xlsx 文件提供自动引擎选择,而且大多数数据科学设置中都已经存在,并提供标准化 API。
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow