Pandas pd.read_csv无法导入.csv文件问题排查求助
解决pd.read_csv抛出EmptyDataError:无可用列可从文件中解析的问题
你遇到的pandas.errors.EmptyDataError: 无可用列可从文件中解析,本质是Pandas无法从目标CSV文件中解析出有效列数据,以下是常见原因及对应解决方法:
CSV文件为空或仅含空白内容
直接打开calorie.csv确认文件内容:如果是空文件,或是只有换行、空格这类无意义内容,填充有效结构化数据后再尝试读取。文件路径错误,读取了错误的空文件
使用相对路径时,Pandas会从当前脚本运行的工作目录查找文件,而非脚本所在目录。先打印当前工作目录确认:import os print(os.getcwd())解决方式:
- 将
calorie.csv移动到打印出的工作目录中; - 使用绝对路径读取(Windows路径建议加
r避免转义问题):df = pd.read_csv(r'C:\Users\aless\OneDrive\Desktop\pandas_project\calorie.csv')
- 将
CSV文件格式异常,列分隔符不匹配
部分CSV文件并非用逗号分隔,可能是制表符、分号等。尝试指定分隔符读取:# 尝试制表符分隔 df = pd.read_csv('calorie.csv', sep='\t') # 尝试分号分隔 df = pd.read_csv('calorie.csv', sep=';') # 自动匹配任意空白字符作为分隔符 df = pd.read_csv('calorie.csv', sep='\s+')文件编码问题导致解析失败
若文件采用非UTF-8编码(如GBK、UTF-16),Pandas默认解析会出错,尝试指定编码:df = pd.read_csv('calorie.csv', encoding='gbk') df = pd.read_csv('calorie.csv', encoding='utf-16')
内容的提问来源于stack exchange,提问作者Alessandro Minervino
相关产品推荐
相关产品推荐

