python数据分析数据集的清洗

img


这个数据集里面的第一列时间有两种书写方式一种是年月日一种是日月年 如何将两种时间格式统一成一种

假设文件叫做example.xlsx
时间列是A列
那么代码如下(相关用到的库,你可以pip install下)


import datetime
from dateutil import parser
from openpyxl import Workbook, load_workbook

old_format1 = "%Y-%m-%d %H:%M" #第一种格式
old_format2 = "%m/%d/%y %H:%M" #第二种格式

new_format = "%Y-%m-%d %H:%M" #新格式

wb = load_workbook(filename="example.xlsx")
ws = wb.active

for cell in ws['A']:
    if cell.row == 1:
        continue
    # 使用dateutil模块解析日期
    try:
        date_obj = parser.parse(cell.value)
        # 如果日期是第二种格式,将其转换为第一种格式
        if cell.value[:1].isdigit():
            cell.value = date_obj.strftime(new_format)
    except ValueError:
        pass

wb.save("example.xlsx")

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^