我将一个文件夹中的所有文件一个一个地读取到DataFrame中,然后检查它们的某些情况。文件有几千个,当文件为空时,我希望使pandas引发Exception,以便我的阅读器功能可以跳过此文件。
我有类似的东西:
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
长大,我的功能正在搜索空文件,这在我的结果文件中给了我很多“ Empty DataFrame ...”行。如何使程序跳过空文件?
我首先检查文件是否为空,如果不为空,我将尝试将其与pandas一起使用。通过此链接https://stackoverflow.com/a/15924160/5088142,您可以找到一种检查文件是否为空的好方法:
import os
def is_non_zero_file(fpath):
return os.path.isfile(fpath) and os.path.getsize(fpath) > 0
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句