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

报错unsupported operand type(s) for +: 'DatetimeArray' and 'str'的解决求助

解决Pandas中"unsupported operand type(s) for +: 'DatetimeArray' and 'str'"错误

我一眼就看出问题出在哪了——你在代码里把同一个变量Dataset既用来存文件路径,又用来存读取后的Pandas DataFrame,导致后续的字符串拼接操作完全搞错了对象!

先看你出错的核心代码片段:

Dataset = "/content/Meteo.csv"
# 这里把Dataset重新赋值成了DataFrame对象
Dataset = pd.read_csv('Meteo.csv', encoding='latin-1', parse_dates=[['DATE', 'TIME']])
# 现在Dataset是DataFrame,和字符串"Demand.xlsx"用+拼接当然报错
Solar = pd.read_excel(Dataset + "Demand.xlsx")

问题原因

当你执行pd.read_csv后,Dataset已经从最初的字符串路径变成了Pandas DataFrame实例,你试图把DataFrame和字符串做加法,这属于类型不匹配,所以抛出了那个错误。

修复方案

把文件路径和DataFrame用不同的变量名分开,避免变量覆盖。这里有两种可行的写法:

写法1:明确管理文件路径

如果你的文件都在/content/目录下,可以专门用一个变量存路径前缀:

# 单独定义目录路径
data_dir = "/content/"
# 读取CSV到DataFrame,用新的变量名
meteo_data = pd.read_csv(data_dir + 'Meteo.csv', encoding='latin-1', parse_dates=[['DATE', 'TIME']])
print(meteo_data)

# 正确拼接Excel文件路径并读取
solar_data = pd.read_excel(data_dir + "Demand.xlsx")
solar_data.head()

写法2:直接读取同目录文件

如果两个文件都在当前工作目录下,直接写文件名更简单:

# 读取CSV到DataFrame
meteo_data = pd.read_csv('Meteo.csv', encoding='latin-1', parse_dates=[['DATE', 'TIME']])
print(meteo_data)

# 直接读取同目录下的Excel文件
solar_data = pd.read_excel("Demand.xlsx")
solar_data.head()

额外提示

养成给变量起有意义名字的习惯,比如用meteo_data存气象数据的DataFrame,用data_dir存路径,这样不仅能避免这类低级错误,代码可读性也会高很多。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 18:45:49