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("文件为空")
小结
报错不可怕,得学会根据报错信息,进行思考,最终总会找到解决方案。