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

时间:2018-06-08 12:43:06

标签: python-3.x xlrd

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

在我的xls表格上,我的日期值为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

返回浮点值43266.0 如何在没有分隔符的情况下以ddmmyy格式获取字符串?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

date.replace(“/”,“”)应该完成这项工作。

pip freeze