Python 将整数(使用xlrd读取)转换回日期格式(使用openpyxl写入)

Python 将整数(使用xlrd读取)转换回日期格式(使用openpyxl写入),python,xlrd,openpyxl,Python,Xlrd,Openpyxl,我使用xlrd读取文件中的一些日期,并使用openpyxl将它们写入新工作簿 如果日期是2014年6月25日,则写41815 我只想知道如何将41815重新转换为2014年6月25日,或2014年6月25日,但我今天读到的所有材料似乎都过于复杂。我想originReport.cell_值(0,0)是'25-jun-14' from datetime import datetime import re a = '25-jun-14' b = re.sub('-14', '-2014', a)

我使用xlrd读取文件中的一些日期,并使用openpyxl将它们写入新工作簿

如果日期是2014年6月25日,则写41815


我只想知道如何将41815重新转换为2014年6月25日,或2014年6月25日,但我今天读到的所有材料似乎都过于复杂。

我想
originReport.cell_值(0,0)
'25-jun-14'

from datetime import datetime
import re

a = '25-jun-14'
b = re.sub('-14', '-2014', a)

c = datetime.strptime(b, "%d-%b-%Y")

# write 25/06/2014
destReport.cell(row=1,column=1).value = c.strftime("%d/%m/%Y")

我认为你应该写2014年而不是14年。否则,您如何知道哪个代表年份。

使用openpyxl,您可以在适当的位置修改文件

尽管如此,转换还是非常简单:Excel处理的是格式为日期的数字(以1900-01-01为历元),因此您只需设置单元格的格式

originReport = xlrd.open_workbook('report1').sheet_by_index(0)
destReport = openpyxl.load_workbook('report2')[0]
c = destReport.cell(row=1,column=1)
c.value = originReport.cell_value(0,0)
c.number_format = "d-mmm-yy" # Excel's formatting
# check the conversion
print(c.value)
2014-06-25 00:00:00

你能告诉我们你用来写xlsx的代码吗?也许您可以在编写之前进行转换。首先
originReport=xlrd。打开工作簿('report1')。按索引(0)工作表(
),然后
destReport=openpyxl。加载工作簿('report2')。按索引(0)获取工作表(
),最后使用
destReport.cell(行=1,列=1)。value=originReport.cell\u值(0,0)