xlrd、xlwt可以读取,写入.xls文件。也可以读取写入日期值。
xlrd中用xlrd.xldate_as_tuple()将读取值转换为日期。
xlwt中可以用table1.write()直接写入datetime.datetime, datetime.date, datetime.time、
用xlrd读取.xls文件中的日期值
python
import xlrd
workbook = xlrd.open_workbook(filename=r"D:\tem.xls")
#获取sheet
table = workbook.sheets()[0]
#读取
#读取1行2列中的值
value = table.cell_value(rowx=0, colx=1)
#转化为日期
#返回例如(2027, 7, 8, 0, 0, 0)
(year, month, day, hour, minute, nearest_second) = xlrd.xldate_as_tuple(value, 0)
用xlwt将日期值写入.xls文件
python
import xlwt
import datetime
df2 = xlwt.Workbook()
table1 = df2.add_sheet("Sheet1",cell_overwrite_ok=True)
#写入日期
#可以写入datetime.datetime, datetime.date, datetime.time
now = datetime.datetime.now()
table1.write(0,2,now)#将日期写入1行3列中
df2.save("d://tem.xls")#保存文件
写入的日期在Excel中显示不正确时,需要在Excel中设置单元格格式为日期。
在现有的.xls文件上添加日期值
python
import xlwt,xlrd
from xlutils.copy import copy
import datetime
df1 = xlrd.open_workbook("d://tem.xls", formatting_info=True)
df2 = copy(df1)
table1 = df2.get_sheet(0)
#写入日期
now = datetime.datetime.now()
table1.write(0,2,now)#将日期写入1行3列中
df2.save("d://tem.xls")