使用条件过滤子目录中的 csv

Filtering through csv's in sub-directories with criteria

目前,我有这段代码可以找到所有“*_results.csv”文件并将这些文件复制到新目录:

import os.path
import shutil

base_dir = r'\temp'
dest_dir = r'\temp1'

for root, dirs, files in os.walk(base_dir):
    for filename in [f for f in files if f.endswith("_results.csv")]:
        shutil.copy2((os.path.join(root, filename)), dest_dir)

所有这些 csv 文件都有两列,但行数各不相同。所有的 csv 文件在 A 列中都有两行显示“功率”和“速度”,B 列中有功率和速度的值。需要注意的是,“功率”和“速度”有时位于不同的行中,这一点很重要A 列中的数字取决于 csv。

例如--

x       x
x       x
Power   -20
x       x
Speed   35

我正在寻找所有功率 >= -18 或速度 - 功率 >= 5 的 csv。

如有任何帮助,我们将不胜感激。谢谢

对于每个文件,您可以:

df = pd.read_csv("file.csv")
powerdf = df[df.A == "Power"]
thepower = powerdf.iloc[0][B]
if thepower >= -18:
   return True
speeddf = ...

以此类推