使用 Python 阅读 Excel 文本标头



我正在使用一个为请求生成随机标记的 excel 文件的系统,我需要从 Excel 报表标题中解析信息。需要明确的是,我不是要获取排名、ID、名称、发件人或通过,而是尝试从此示例中提取日期。输出文件示例

您会注意到,我想要的信息不包含在任何单元格中,而是包含在Excel报表格式中。当我将整个文件作为 pandas 数据帧导入时,日期不存在,因为数据未存储在任何单元格中。

这是文件中唯一格式化为这样的字段,因此我尝试读取整个文件并使用如下所示的正则表达式将其提取:

import re
matches = []
with open('Roster Report.xlsx') as f:
for line in f:
matches += re.findall('[[0-9]{2}/[0-9]{2}/20[0-9]{2}]',line)
matches

但我得到UnicodeDecodeError: 'charmap' codec can't decode byte 0x90 in position 56: character maps to <undefined>

我还在包中看到xlrd使用dump(header="[10/24/2018]"写入 Excel 标头的能力,但我在文档中没有看到如何从标头读取数据。

这些评论实际上通过将我指向openpyxl来帮助我获得答案。如果其他人有,我会在这里发布它。

import openpyxl
wb = openpyxl.load_workbook('Roster Report.xlsx')
header_text = str(wb.active.HeaderFooter)
wb.close()

我在xlrd中没有看到读取标题的方法,只能写入它

最新更新