我正在使用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
格式获取字符串?
答案 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