在xlsx中使用openpyx将日期格式更改为文本

2024-04-26 02:40:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我写了一个脚本,从excel工作簿中读取并编写新的工作簿。 每行是一个单独的对象,其中一列是日期。 我用datetime将日期写成一个NamedStyle,以获得我认为正确的格式:

    date_style = NamedStyle(name='datetime', number_format='YYYY-MM-DD')
    for row in range(2,ws_kont.max_row+1):
        ws_kont.cell(row = row, column = 4).style = date_style

问题是我需要将这个excel工作簿导入到一个古老的数据库中,因为某些原因,这个数据库不接受日期格式,只接受像这样的文本“yyydd-mm”。 我无法将这些单元格重写为文本。在

我尝试过使用=文本公式,但这行不通,因为除非我复制公式中引用的列,否则无法使用单元格本身计算结果:

^{pr2}$

我需要在几个脚本中完成这些操作,所以我想知道是否有更简单的方法来完成这个任务?在

我只是一个考古学家,尝试通过涉猎一些简单的代码来实现我工作日中一些任务的自动化,如果我看起来有点慢,请对我从容不迫。在


Tags: 对象name文本脚本数据库datetimedatews
1条回答
网友
1楼 · 发布于 2024-04-26 02:40:47

最有可能的是,仅仅更改日期的格式是不够的,您必须将日期存储为字符串而不是日期时间对象。在

在列上循环并用^{}设置日期格式:

for row in range(1, ws_kont.max_row+1):
    cell = ws_kont.cell(row = row, column = 4)
    cell.value = cell.value.strftime('%Y-%m-%d')

相关问题 更多 >

    热门问题