我有以下数据结构:

我想转换列“Entr”。和时间图(HH:MM),格式: HH:MM:SS。我被困在转换‘因为列是不均匀的:有时出现一个"-",有时它是在日期时间格式"DD-MM-YYYY HH:MM:SS“,有时准时"HH:MM:SS”。
栏:

列样本:
https://drive.google.com/file/d/1ujvPED0S1vPZ9bmCSob3vR68XwUXC2gk/view?usp=sharing
发布于 2021-06-20 09:03:36
读取Excel文件给您留下了混合数据类型列;一些元素是datetime.datetime对象(例如df‘’Fim‘.iloc2处的datetime.datetime(1900, 1, 1, 0, 10) ),一些元素是datetime.time (例如df’‘Fim’..iloc上的datetime.time(13, 15) )。AFAIK与库xlrd / openpyxl读取文件的方式有关--没有多少pandas能够处理它。相关:Pandas read excel returning type object when time is 00:00.
TLDR:
将所有内容转换为字符串并删除日期。这给你留下了HH:MM:SS格式的时间。
df = pd.read_excel(filename)
df['Entr.'] = df['Entr.'].astype(str).str.split(' ').str[-1]
df['Fim'] = df['Fim'].astype(str).str.split(' ').str[-1]df.head()
Entr. Fim
0 05:25:00 13:15:00
1 13:15:00 16:00:00
2 16:00:00 00:10:00
3 03:30:00 11:18:00
4 11:18:00 18:00:00发布于 2021-06-19 22:31:37
导入dateutil dateutil.parser.parse("1900-01-01 02:32:00")
https://stackoverflow.com/questions/68051187
复制相似问题