根据条件使用 pandas 读取多个 excel 文件,但如果第一个 excel 不满足条件,panda 会停止读取它们



正如标题所说,我的代码在大多数情况下都有效,除了当它找到的第一个文件不符合条件时,它不会读取其余文件。当它找到>=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之外,它还起作用。杜比税是我的时代。感谢

最新更新