python - 如果在遍历 pandas 中的多个文件时满足条件,如何跳过 for 循环迭代?
问题描述
我首先使用 os 和 glob 创建一个 CSV 列表,然后使用一个简单的 for 循环遍历应用我的代码的路径中的所有文件。
path = r'my path'
os.chdir(path)
FileList = glob.glob('*.csv')
for fname in FileList:
Session = pd.read_csv(fname, header = 3, usecols = [0, 1])
Session = Session[Session['System'].str.contains('Day', na=False)]
Session = Session['No System Name'].tolist()
CRFs = sum(["CRF" in x for x in Session])
...
df.to_csv(path + 'test_' + fname , index = 0)
如果 Session 的长度等于 CRF,有没有办法让循环跳过一个文件,循环将停止并使用 FileList 中的下一个文件重新开始?我尝试过使用 break 和 continue 来做这样的事情,但都没有做任何事情:
for fname in FileList:
Session = pd.read_csv(fname, header = 3, usecols = [0, 1])
Session = Session[Session['System'].str.contains('Day', na=False)]
Session = Session['No System Name'].tolist()
CRFs = sum(["CRF" in x for x in Session])
if CRFs == len(Session) is True:
continue(or break)
...
df.to_csv(path + 'test_' + fname , index = 0)
提前谢谢了!
解决方案
而不是在您的代码中:
if CRFs == len(Session) is True:
continue
做就是了:
if CRFs == len(Session):
continue
推荐阅读
- javascript - 使用嵌套属性过滤带有集合和映射的 json
- azure - Xamarin 的 WindowsAzure.Storage 库是否使用 NSUrlSession 进行文件上传?
- php - Laravel return 有很多关系
- powershell - Powershell 中带有 COM 对象的垃圾收集
- google-sheets - 从列中过滤减少的值?
- sql-server - 连接到本地 SQL Server 数据库的问题
- javascript - 如何在 Safari 和 IE 中访问网络摄像头?getUserMedia 是否有任何替代 API?
- javascript - 如何在 html 中自动执行 Javascript 并使用 ajax 将变量发送到 php?
- sql - 数据列的统计
- python - 本福德分布