使用openpyxl将TDMS文件中的日期时间数据导出到Excel电子表格时,毫秒和微秒信息消失了。
在Python 3.7上使用openpyxl。从TDMS文件中提取的日期时间包含的时间包括微秒,例如,这里是打印包含以下日期时间对象之一的变量的值和样式的输出: 2018-02-05 14:30:13.290399 + 00:00
导出到Excel后,几秒钟后消失: 2018-02-05 14:30:13
我尝试使用NamedStyle,但找不到使用此工具定义毫秒或微秒的方法。
from nptdms import TdmsFile
from openpyxl import Workbook
# Writing channel data to Excel spreadsheet
wb = Workbook()
wfilename = 'channel_data.xlsx'
ws1 = wb.active
ws1.title = 'Full Data'
# a is a list of datetime objects pulled from a TDMS file
b = a[0]
print(b)
# output is:
# 2018-02-05 14:30:13.290399+00:00
t = type(b)
print(t)
# output is:
# <class 'datetime.datetime'>
ws1.cell(row=1, column=1).value=b
wfilepath = [somefilepath]
wb.save(wfilepath)
在生成的Excel文件中,该单元格包含以下内容: 2018-02-05 14:30:13
这会在几秒钟后丢失所有信息。谁能知道为什么会这样吗?
编辑: 我可以使用以下代码将其转换为字符串:
w = b.strftime('%Y/%m/%d %H:%M:%S:%f')
print(w)
并以“常规”格式的单元格在Excel中获得以下输出: 2018/02/05 14:30:13:290399
我仍然希望能够将其导出为日期时间,而不必转换为字符串。