You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

尝试将date字段转为datetime时触发KeyError: 'date',如何解决?

问题解决:KeyError: 'date'

错误原因

你犯了两个关键错误:

  • 读取CSV得到的DataFrame对象df_sales,被你用字典{1: "date", 2: "store", 3: "item", 4:"sales"}覆盖了,此时df_sales不再是DataFrame,而是键为1、2、3、4的字典,不存在'date'这个键,所以触发KeyError。
  • pd.read_csv的编码参数传递错误,应该写成encoding='utf-8',不能直接传'utf-8'作为第二个位置参数。

修正后的代码

分两种场景处理:

场景1:CSV文件本身包含表头(第一行就是date、store、item、sales)

import pandas as pd

# 读取csv数据,正确指定编码参数,路径前加r避免转义问题
df_sales = pd.read_csv(r"C:\Users\Yuvraj\Downloads\sales_data.csv", encoding='utf-8')
# 将date字段从字符串转换为datetime类型
df_sales['date'] = pd.to_datetime(df_sales['date'])
# 显示前10行数据
print(df_sales.head(10))

场景2:CSV文件没有表头,需要手动指定列名

import pandas as pd

# 读取csv数据,指定列名、编码,路径前加r避免转义问题
df_sales = pd.read_csv(r"C:\Users\Yuvraj\Downloads\sales_data.csv", 
                       names=["date", "store", "item", "sales"], 
                       encoding='utf-8')
# 将date字段从字符串转换为datetime类型
df_sales['date'] = pd.to_datetime(df_sales['date'])
# 显示前10行数据
print(df_sales.head(10))

内容的提问来源于stack exchange,提问作者Yuvraj Boggaram

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 09:02:51