Python读取股票CSV文件报错:存在Close表头仍无法正常读取
股票CSV文件分析报错排查方案
- 检查表头的不可见特殊字符:很多时候不是普通空格,是制表符、全角空格或换行符这类隐藏字符。把CSV表头复制到Notepad++这类编辑器,开启「显示所有字符」功能,确认
Close表头有没有这类多余字符。 - 验证表头处理逻辑是否真的生效:别光加了处理代码就完事,要打印处理后的表头确认。比如用这段代码:
运行后看输出里的表头是不是完全匹配你要的import pandas as pd df = pd.read_csv('你的股票文件.csv') # 处理所有表头的前后空白及隐藏字符 df.columns = df.columns.str.strip() # 打印表头列表,看有没有精确的'Close' print(df.columns.tolist())Close。 - 排查文件编码问题:如果CSV编码和读取时指定的编码不匹配,表头会乱码。可以尝试指定不同编码读取:
# 先试UTF-8 df = pd.read_csv('你的股票文件.csv', encoding='utf-8') # 不行再试GBK df = pd.read_csv('你的股票文件.csv', encoding='gbk') - 确认大小写是否一致:比如表头实际是
close或CLOSE,但你代码里用的是Close。可以统一转成大小写再访问:df.columns = df.columns.str.lower() # 之后用df['close']来访问数据 - 检查是否存在多行表头:如果CSV第一行是注释说明,第二行才是真正的表头,读取时要指定表头行:
df = pd.read_csv('你的股票文件.csv', header=1)
内容的提问来源于stack exchange,提问作者menamejaff
相关产品推荐
相关产品推荐

