使用openpyxl
我已经能够获得所有代码来读取.xlsx表以生成特定技术文档工具所需的.xml。我正在尝试使代码一般适用于我的团队中的某个人可能生成的任何表,并且一个困扰我的问题是XML中的某些列已应用格式化以节省一些输入。
例如,我有一个表格,其中包含行ID的列,Excel中的文本读取为Test-001,Test-002,Test-003等。为了节省打字,我设置了一个Excel中的自定义数字格式为“Test-”000,允许某人键入任何列的单元格并将其转换为Test-。在返回openpyxl
时读取单元格值时返回的值。
如果没有检查每列上的number_format并使用正则表达式提取字符串并将其添加到读取值,那么openpyxl
(2.2.6)是否有一种简单的方法可以使值返回Excel用户看到了什么?
这会大大推广我的代码,因为有些表可能没有ID列。
以下是python的最低工作示例:
import openpyxl
import logging
logging.basicConfig(level=logging.DEBUG, format=' %(asctime)s - %(levelname)s - %(message)s')
if __name__ == "__main__":
logging.info('Reading from ExampleWrkBook.xlsx')
wb = openpyxl.load_workbook('ExampleWrkBook.xlsx')
wrkSheet = wb.get_sheet_by_name('Sheet1')
logging.info('The first ID value in the sheet is "TestID-001", but openpyxl returns {0:s}'.format(str(wrkSheet['B3'].value)))
可以在DropBox here上找到示例电子表格。