在Python Pandas中读取UTC时间戳并转换为欧洲日期格式
解决Pandas Timestamp列转dd.mm.yyyy格式问题
你的代码问题在于最后将日期转回了datetime对象,Pandas默认会以yyyy-mm-dd格式显示这类对象。要得到欧洲格式的日期字符串,直接用dt.strftime()方法格式化即可,无需重复转换为datetime类型。
修正后的代码
import pandas as pd Timestamp=[ "06.02.2024 00:43:31 UTC", "06.02.2024 01:34:35 UTC", "06.02.2024 02:21:41 UTC", "06.02.2024 02:26:41 UTC", "06.02.2024 03:19:52 UTC", "06.02.2024 07:15:48 UTC", "06.02.2024 08:22:46 UTC", "06.02.2024 09:56:12 UTC", "06.02.2024 12:00:43 UTC", "06.02.2024 12:22:14 UTC", "06.02.2024 12:23:21 UTC"] df = pd.DataFrame(Timestamp, columns=["Timestamp"]) # 转换为UTC datetime对象后,直接格式化为dd.mm.yyyy字符串 df["Timestamp"] = pd.to_datetime(df["Timestamp"], utc=True).dt.strftime("%d.%m.%Y") print(df)
关键说明
pd.to_datetime(df["Timestamp"], utc=True):将字符串解析为带UTC时区的datetime对象,确保时间戳处理准确。dt.strftime("%d.%m.%Y"):将datetime对象格式化为指定的字符串格式,其中:%d:两位数的日期(01-31)%m:两位数的月份(01-12)%Y:四位数的年份
存入Excel的注意事项
如果需要将数据写入Excel,直接使用df.to_excel()即可,此时Timestamp列是字符串类型,Excel会保留dd.mm.yyyy的格式,不会自动转换为其他日期格式。如果希望Excel将其识别为日期类型,可以在格式化后再转换为datetime对象并指定Excel的日期格式:
# 先格式化字符串,再转回datetime(可选,适合需要Excel识别为日期的场景) df["Timestamp"] = pd.to_datetime(df["Timestamp"], format="%d.%m.%Y") # 写入Excel时指定日期格式 writer = pd.ExcelWriter("output.xlsx", engine="xlsxwriter") df.to_excel(writer, index=False) workbook = writer.book worksheet = writer.sheets["Sheet1"] # 设置单元格格式为dd.mm.yyyy date_format = workbook.add_format({"num_format": "dd.mm.yyyy"}) worksheet.set_column("A:A", 15, date_format) writer.close()
内容的提问来源于stack exchange,提问作者SMS
相关产品推荐
相关产品推荐

