将纪元时间转换为具有特定格式的字符串

Converting epoch time to string with specific format

我正在使用 python 从 .xls 文件中读取一些数据,然后自动在线填写一个需要特定格式的表格,但我遇到了纪元时间问题。

在我的 xls 上 sheet 我的日期值为 15/06/18。所需的输出应为 150618。

我用xlrd读取文件和代码如下:

import xlrd
r_file = xlrd.open_workbook('test.xls')
r_sheet= r_file.sheet_by_index(0)
date = r_sheet.cell(0,0).value

此 returns 浮点值 43266.0 如何获得不带分隔符的 ddmmyy 格式的字符串?

date.replace("/","") 应该可以。

import datetime 
date_tuple = datetime.datetime(*xlrd.xldate_as_tuple(date, r_file.datemode))

Excel 将日期存储为自 1900 年 1 月 1 日以来的天数。但是,Excel 由于将 1900 年视为闰年而出现差一错误,而实际上并非如此。

import pandas as pd
date = 43266.0
if date <= 59:
    date -= 1
elif date == 60:
    raise ValueError("Feb 29, 1900 is not a real date!")
else:
    date -= 2
py_date = pd.to_datetime('1900-1-1') + pd.Timedelta(days=date)
py_date_str = py_date.strftime('%d%m%y')
print(py_date_str)  # 180617, aka June 17, 2018