Python 基于条件,使用pandas读取多个excel文件,但如果第一个excel没有';不符合条件

Python 基于条件,使用pandas读取多个excel文件,但如果第一个excel没有';不符合条件,python,pandas,Python,Pandas,正如标题所说,我的代码在大部分情况下都是有效的,除非它找到的第一个文件不符合条件,否则它不会读取其余的文件。当它找到>=0的行时,应该过滤列“Value” import os import glob import pandas as pd def find_Excel(): dfs = [] path = 'c:/temp/*.xlsx' matches = [name for name in glob.glob(path)] set_list = list(

正如标题所说,我的代码在大部分情况下都是有效的,除非它找到的第一个文件不符合条件,否则它不会读取其余的文件。当它找到>=0的行时,应该过滤列“Value”

import os
import glob
import pandas as pd

def find_Excel():
    dfs = []
    path = 'c:/temp/*.xlsx'
    matches = [name for name in glob.glob(path)]

    set_list = list(set(matches))
    for filenames in set_list:
        df = pd.read_excel(filenames)
        parsed = df[df['Value'] >= 0]

        dfs.append(parsed)
    frame = pd.concat(dfs)
    print(len(frame))

我不完全确定为什么这不起作用,也许我需要纠正一下?在阅读excel工作表的过程中,它似乎失败了,当第一个工作表不符合“已解析”标准时,它就停止了

我得到了它-有时,由于@Matt和@Tserenjamts,需要其他人说一些明显的话才能得到它。问题是它发现了一个损坏的文件并被破坏了,所以我只是添加了一个尝试,除了围绕pd.read_excel进行包装,它成功了。哑巴税是我的时间。谢谢

您有收到的确切错误吗?如果值列是字符串而不是数字,则可能是数据类型问题。请尝试在代码中使用
Try except
。我有一个常规过程异常,但它仍然会停止读取。我在同一张纸上做了测试,加了一个1,它读起来很好。也许我放错地方了?