Python 运行 多个 csv 文件上的脚本

Python run script on several csv files

我正在尝试 运行 我的脚本在几个 .csv 文件上并输出每个文件的结果。我的代码片段如下-

import sys
import os
import logging
import subprocess
import argparse
import pandas as pd
import glob


files = glob.glob('/scratch/*/*.csv')

for file in files:
        df = pd.read_csv(file,delimiter = ',',skiprows=range(1,11))

#do some calculation on each file


#calculate the final value
metric = (max(max(dif_r1a),max(dif_r1c),max(dif_r1g),max(dif_r1t),max(dif_r2a),max(dif_r2c),max(dif_r2g),max(dif_r2t)))

#output the final value for each csv file
print(os.path.basename(file) + ' ' + str(metric))

我得到的输出仅针对单个 csv 文件

file1.csv 0.25

如何迭代它以输出所有 csv 文件的值?

谢谢

从上面的代码中可以看出,您为每个 .csv 文件创建了一个数据框,但只计算最终值并在 for 循环执行后打印。如果您想为每个数据帧执行此操作,则这些需要在 for 循环中:

import sys
import os
import logging
import subprocess
import argparse
import pandas as pd
import glob


files = glob.glob('/scratch/*/*.csv')

for file in files:
        df = pd.read_csv(file,delimiter = ',',skiprows=range(1,11))

#do some calculation on each file


#calculate the final value
metric = (max(max(dif_r1a),max(dif_r1c),max(dif_r1g),max(dif_r1t),max(dif_r2a),max(dif_r2c),max(dif_r2g),max(dif_r2t)))

#output the final value for each csv file
print(os.path.basename(file) + ' ' + str(metric))

这是您目前拥有的内容,但您希望将其更改为:

import sys
import os
import logging
import subprocess
import argparse
import pandas as pd
import glob


files = glob.glob('/scratch/*/*.csv')

for file in files:
    df = pd.read_csv(file,delimiter = ',',skiprows=range(1,11))

    #do some calculation on each file


    #calculate the final value
    metric = 
    (max(max(dif_r1a),max(dif_r1c),max(dif_r1g),max(dif_r1t), \
    max(dif_r2a),max(dif_r2c),max(dif_r2g),max(dif_r2t)))

    #output the final value for each csv file
    print(os.path.basename(file) + ' ' + str(metric))

然而,这也可能是由于评论的格式所致。