python读取csv文件时报错:EmptyDataError: No columns to parse from file

报错显示

在使用pandas循环读取一个文件夹里的csv文件时,突然报错 No columns to parse from file,如图所示在这里插入图片描述

报错原因分析

仔细查看报错显示的代码,可以看到2790行,EmptyDataError, 所以我猜测问价夹中有csv文件是空的,导致不能循环读取。于是我便查看文件夹中的文件,果然发现有空的csv文件
在这里插入图片描述

解决方法

在文件夹中循环读取csv文件,出现这种错误,可以删除该文件即可。但是,如果该文件夹内csv文件数量多的话,手动删除肯定不可取。那么该怎么解决这个问题呢?请看下面代码部分:

这里只需要判断读取的csv文件字节是否大于0即可
file_name="test.csv"
if os.path.getsize(file_name) > 0:
	执行读取csv文件代码
时隔一年再次更新新方法

一年前遇到文件为空的情况,最近又遇到,想在一年后今天再次更新解决方法。

import pandas as pd
file_name = "test.csv"
try:
    df = pd.read_csv(file_name)
    if df.empty:
        print("文件为空")
    else:
        print("文件不为空")
except pd.errors.EmptyDataError:
    print("文件为空")

小结

报错不可怕,得学会根据报错信息,进行思考,最终总会找到解决方案。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐