pandas read excel 更改string列为时间类型

设想我们有如下一个excel文件

我们都知道上面那个时间列其实是string类型,因此在用pandas做时间校验的时候会不通过,我们可以在read_excel的时候,指定这一列做转换

python 复制代码
import pandas as pd
from datetime import datetime, timedelta
import numpy as np
from dateutil.parser import parse
def indexes(iterable, obj):
    return (index for index, elem in enumerate(iterable) if elem == obj)

def func1(args):
  try:
    return parse(str(args))
  except:
    return np.nan

excel = pd.read_excel(r'C:\Users\84977\Desktop\test.xlsx',sheet_name=None,converters={"时间列":func1})#converters={"时间列":datetime})
errordata = set()
for sheet_name, df in excel.items():
  m = df['时间列'].apply(lambda v: isinstance(v, datetime))
  datacolumn = pd.to_datetime(np.where(m, df['时间列'].astype(str), np.NaN))
  idxs = indexes(list(datacolumn.isnull()), True)
  nulldata = list(idxs)
  for index,item in enumerate(datacolumn):      
    if index not in nulldata:
        if item.strftime('%Y-%m')!='2022-03':
            errordata.add(index)
    elif index in nulldata:
        errordata.add(index)
print(list(errordata))
相关推荐
大数据魔法师17 小时前
基于Pandas和FineBI的昆明职位数据分析与可视化实现(五) - 基于随机森林算法预测职位分类
算法·pandas
Chasing__Dreams2 天前
python--杂识--18.1--pandas数据插入sqlite并进行查询
python·sqlite·pandas
超龄超能程序猿3 天前
(3)机器学习小白入门 YOLOv: 解锁图片分类新技能
python·numpy·pandas·scipy
好开心啊没烦恼4 天前
Python 数据分析:计算,分组统计1,df.groupby()。听故事学知识点怎么这么容易?
开发语言·python·数据挖掘·数据分析·pandas
大虫小呓5 天前
Python 处理 Excel 数据 pandas 和 openpyxl 哪家强?
python·pandas
好开心啊没烦恼6 天前
Python 数据分析:numpy,抽提,整数数组索引与基本索引扩展(元组传参)。听故事学知识点怎么这么容易?
开发语言·人工智能·python·数据挖掘·数据分析·numpy·pandas
旷世奇才李先生7 天前
Pandas 安装使用教程
pandas
卜及中18 天前
【Python】数据处理工具:Pandas详细指南
开发语言·python·学习·pandas
NLxxxxX18 天前
爬虫获取数据:selenium的应用
开发语言·爬虫·python·selenium·测试工具·numpy·pandas
猫头虎18 天前
2025最新Python 100个常用函数在线体验项目
android·java·python·pycharm·django·pandas·pip