在excel中,有一个值为1:23.456的单元格,格式为m:ss.000 (分钟、秒和毫秒)。
现在,我想读一下python和大熊猫的价值:
import xlwings as xw
import pandas as pd
excelData = xw.Book(path)
data = pd.DataFrame(excelData.sheets[sheetName].used_range.value)
print(data[20][7])但是,我将0.000965925925925926作为输出,而不是1:23.456。
我如何得到正确的数字作为输出?(1:23.456)
发布于 2022-09-18 16:33:03
我不知道有一个简单的,内置的方式来做这件事。但是,一旦数据在DataFrame中,您就可以更改格式(我假设会有一列数据需要更改:
val = data[20][7] # Change this to the range of data you need to be altered.
(dt.datetime.min + dt.timedelta(val)).time().strftime("%M:%S.%f")您所看到的数字是时间与一整天的比率。
上面的代码从最小时间dt.datetime.min开始,并添加值dt.timedelta(val)的时间,然后将其转换为您想要的格式(但使用6小数位数)。如果您特别想要3,可以按照this answer的步骤执行
https://stackoverflow.com/questions/73761530
复制相似问题