我将一个文件夹中的所有文件逐个读取到一个数据框中,然后检查它们是否存在某些情况。有几千个文件,我想让pandas在一个文件为空时引发一个异常,这样我的读者功能就会跳过这个文件。
我有点像:class StructureReader(FileList):
def __init__(self, dirname, filename):
self.dirname=dirname
self.filename=str(self.dirname+"/"+filename)
def read(self):
self.data = pd.read_csv(self.filename, header=None, sep = ",")
if len(self.data)==0:
raise ValueError
class Run(object):
def __init__(self, dirname):
self.dirname=dirname
self.file__list=FileList(dirname)
self.result=Result()
def run(self):
for k in self.file__list.file_list[:]:
self.b=StructureReader(self.dirname, k)
try:
self.b.read()
self.b.find_interesting_bonds(self.result)
self.b.find_same_direction_chain(self.result)
except ValueError:
pass
我正在搜索的常规文件的某些条件如下:"A/C/24","A/G/14","WW_cis",,
"B/C/24","A/G/15","WW_cis",,
"C/C/24","A/F/11","WW_cis",,
"d/C/24","A/G/12","WW_cis",,
但不知怎么的,我从来没有被引发过ValueError,我的函数正在搜索空文件,这给了我很多“空数据帧…”行在我的结果文件中。如何使程序跳过空文件?