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))
相关推荐
左师佑图10 小时前
综合案例:Python 数据处理——从Excel文件到数据分析
开发语言·python·数据分析·excel·pandas
景早3 天前
pandas简介
pandas
懒惰蜗牛6 天前
Day10:Python实现Excel自动汇总
python·numpy·pandas·pip·1024程序员节·python读写excel
CodeCraft Studio7 天前
国产化Excel开发组件Spire.XLS教程:在Python中将Pandas DataFrame导出到Excel的详细教程
python·excel·pandas
sunbyte8 天前
从零掌握 Pandas:数据分析的黄金钥匙|01:认识Pandas
数据挖掘·数据分析·pandas
是梦终空9 天前
计算机毕业设计240—基于python+爬虫+html的微博舆情数据可视化系统(源代码+数据库)
爬虫·python·pandas·课程设计·毕业论文·计算机毕业设计·微博舆情可视化
万粉变现经纪人11 天前
如何解决 pip install -r requirements.txt 私有索引未设为 trusted-host 导致拒绝 问题
开发语言·python·scrapy·flask·beautifulsoup·pandas·pip
万粉变现经纪人12 天前
如何解决 pip install -r requirements.txt 私有仓库认证失败 401 Unauthorized 问题
开发语言·python·scrapy·flask·beautifulsoup·pandas·pip
m***记13 天前
Python 数据分析入门:Pandas vs NumPy 全方位对比
python·数据分析·pandas
小钱c713 天前
Python使用 pandas操作Excel文件并新增列数据
python·excel·pandas