您可以将 Openpyxl 输出字符串转换为单元格number_format字符串吗?



是否有一种动态的方式将字符串从cell.value转换为匹配cell.number_format?例如Excel中的,取值为2022年1月31日星期一。当读取Python时,cell.valuereturns2022-01-31 00:00:00。而不是返回什么,我想有字符串读取,因为它在Excel2022年1月31日星期一。希望这是动态的,足以读取多个cell.number_format

import openpyxl
path = r'Test.xlsx'
wb_obj = openpyxl.load_workbook(path)
sheet_obj = wb_obj.active
print(sheet_obj.cell(row = 2, column = 3).value)
print(sheet_obj.cell(row = 2, column = 3).number_format)

使用dateutil库-

from dateutil.parser import *
parse("2022-01-31 00:00:00")
# datetime.datetime(2022, 1, 31, 0, 0)
parse("Monday, January 31, 2022")                                                                                                  
# datetime.datetime(2022, 1, 31, 0, 0)

一旦您可以读取各种格式,可以使用strftime-

指定输出
parse("2022-01-31 00:00:00")..strftime("%A, %B %d, %Y")
# 'Monday, January 31, 2022'

最新更新