Pandas 日期为字符串时的 KeyError 日期

Pandas KeyError Date when date is a string

我有一个包含数十万行的制表符分隔的 .txt 文件。其中一列是 'date',日期格式是“14JAN2020”,即 non-standard。我正在尝试将其转换为标准日期时间。到目前为止我的代码:

import pandas as pd
import datetime as dt
import numpy as np
import matplotlib.pyplot as plt

with open('C:/Path/to/file/myfile.txt') as completionFile:
     completionFile.read()

df = pd.read_csv('C:/Path/to/file/myfile.txt', sep='\t', header=0)
df.head()

job-id | employee_id |日期 | job_type | job_time

1234 | ABCD| 2020 年 1 月 14 日 |富 |酒吧

df["date"] = df['date'].str.replace(r'^((?:\D*\d){2})', r'-')
df["date"] = df['date'].str.replace(r'^((?:[^a-zA-Z0-9]*[a-zA-Z0-9]){5})(?=.+)', r'-')
df["date"] =pd.to_datetime(df['date'])

当我这样做时,我得到 KeyError:'date'。我将 'date' 作为列 header 而不是索引,所以我很纠结为什么我会在这里收到此错误

使用 pd.to_datetime 将日期强制转换为日期时间并声明日期时间格式。

   print(df)
    job-id employee_id       date        job_type job_time
0    1234        ABCD        14JAN2020      foo      bar




df['date']=pd.to_datetime(df['date'])
#df['date']=pd.to_datetime(df['date'], format='%Y%m%d')
print(df)
     job-id employee_id       date           job_type job_time
0    1234        ABCD         2020-01-14      foo      bar