如何提取Excel表头指定日期范围,解决DataFrame无split属性报错
报错原因
- 变量名拼写错误:你读取Excel后将DataFrame赋值给了
data_range变量,后续操作时误写为date_range,此时调用的是pandas内置的日期生成方法对象,并非你读取的表格数据 - 方法调用对象类型错误:
split()是Python字符串的专属方法,你读取到的columns.values是存储所有表头的数组对象,不能直接调用字符串方法
修正后可运行代码
import pandas as pd # 读取Excel文件 df = pd.read_excel("weekly data.xls") # 提取第二列的表头(索引从0开始,第二列对应索引1) header_text = df.columns[1] # 按冒号分割后取后半部分,再用strip()去掉首尾多余空格 date_range = header_text.split(":")[1].strip() print(date_range)
代码说明
- 先读取Excel到DataFrame对象,使用独立的变量名
df避免和后续提取的日期范围变量冲突 - 由于你的表格第二列表头是要提取的目标内容,直接通过
df.columns[1]取到对应的表头字符串 - 分割后取下标为1的片段,再调用
strip()去除前后的空白字符,即可得到目标内容2019-01-01 to 2019-12-31
内容的提问来源于stack exchange,提问作者Kimchi
相关产品推荐
相关产品推荐

