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))
相关推荐
小白学大数据4 天前
Python爬虫实现无限滚动页面的自动点击与内容抓取
开发语言·爬虫·python·pandas
LilySesy6 天前
【SAP-MOM项目】二、接口对接(中)
开发语言·python·pandas·restful·sap·abap
qq_3814549911 天前
Python Pandas完全指南:从核心数据结构到实战操作
pandas
TUTO_TUTO12 天前
【python-词汇指标提取工具开发】自学笔记(1)-后端程序
人工智能·python·pandas·visual studio code
葱明撅腚12 天前
shapely空间数据分析
python·pandas·gis·shapely
忘忧记13 天前
pandas基础三
pandas
叫我:松哥14 天前
基于scrapy的网易云音乐数据采集与分析设计实现
python·信息可视化·数据分析·beautifulsoup·numpy·pandas
测试摆渡媛15 天前
Excel模板填充工具(工具&脚本分享)
python·数据挖掘·pandas
_Soy_Milk15 天前
【算法工程师】—— Python 数据分析
python·数据分析·numpy·pandas·matplotlib
Data-Miner16 天前
类似Pandas AI的几个数据分析处理智能体介绍
人工智能·数据分析·pandas