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文件代码

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

OSError报错1 pandas\_libs\parsers.pyx in pandas._libs.parsers.TextReader.__cinit__ (pandas\_libs\parsers.c:4209)() pandas\_libs\parsers.pyx in pandas._libs.parsers.TextReader._setup_parser_source (pandas\_libs\parsers.c:8895)() OSError: Initializing from file failed</ import pandas as pd pd.read_csv(filename) 该读文件方式,默认是以逗号“,”作为分割符,若是以其它分隔符,比如制表符“/t”,则需要显示的指定分隔符。如下 pd_read_csv(filename,'/t') 但如果遇见某个字段包含了”/t”的字符,比如网址“www.xxx.xx/t…”,则也会把字段中的“/t”理解为分隔符。 但是如果在调用函数,指定参数名,则不存在该问题。 即如下调用方式 read_csv(filename,sep='/t') 以上这篇pandas读取csv文件,分隔符参数se UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position X Unicode的解码错误:使用'utf-8'无法解码在X位置的0xd0字符 bug原因:这个csv文件在写入的编码并不是用utf-8写入的,所以在读取的解码过程中(用utf-8解码),就会报错 所以解决这个问题就需要知道这个csv文件写入是用哪种编... pandas.errors.EmptyDataError: No columns to parse from file 在对多个csv文件处理的报错。看了很多人的,最后解决办法如下: data_raw = pd.read_csv(path + '\\' + file_name, encoding="ISO-8859-15") 修改如下: data_raw = pd.read_csv(path + '\\' + file_name, encoding 这个错误通常表示在尝试解析文件文件中没有列。 这可能是因为文件为空,或者是因为文件格式不正确。 请检查文件内容是否为空,并检查文件格式是否正确。 如果文件格式正确,但是文件仍然空白,那么可能是因为文件路径不正确或者文件不存在。 请检查文件路径是否正确,并确保文件存在。 SaveFile_Path = r"E:\data\save" #合并后要保存的文件名 SaveFile_Name = 'save_data.csv' ... # 下标索引/标签index添加值 s1 = pandas.Series(numpy.random.rand(5)) s2 = pandas.Series(numpy.random.rand(5), index = list('abcde')) s1[5] = 100 s2["f"] = 100 print(s1) print(s2) # .append方法直接添加一个数组 # .appe 给定一组元素X={x1,x2,…, xn}及其n×n关系矩阵R,其中R_ij=1,当x_i 与x_j 相关联,否则为0,设计一个回溯(或分支限界)算法,在X中找出两个非空子集A和B,满足:① A∩B=Φ;② A中的每个元素都与B中的所有元素相关联;③B中的每个元素都与A中的所有元素相关联;④A∪B中的元素总数最多。 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdow...