введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь Я получил несколько CSV-файлов.Имена файлов представлены в виде filename1.in.csv и filename1.out.csv, filename2.in.csv и filename2.out.csv.Эти файлы находятся в папках и подпапках.Я пытаюсь рассчитать некоторые статистические значения файлов .in.csv отдельно и файлов .out.csv отдельно.Но в конце все это нужно записать в один CSV-файл (известный как OutputFile в моем коде) построчно с заголовками.Каждая строка получает имя входного файла в виде className вместе с вычисленными значениями.Я приложил изображение CSV-файла, который я принимаю в качестве входных данных (inFile) для расчета статистических значений.Я не получаю желаемый результат.дает NameError: maxTimeIn, minTimeIn, stdTimeIn, qual1TimeIn, qual2TimeIn, maxLenIn, minLenIn, stdLenIn, qual1LenIn, qua12LenIn, maxTimeOut, minTimeOut, stdTimeOut, qual1TimeOut, qual2TimeOut, maxLenOut, minLenOut, stdLenOut, qual1LenOut, qua12LenOut, className not defined
.Я новичок в Python, поэтому я не уверен, выдаст ли мой код вывод, как требуется, любая помощь очень ценится.Спасибо
import os
import pandas as pd
import csv
startdir= '.'
suffix= '.csv'
for root,dirs, files, in os.walk(startdir):
for name in files:
if not name.endswith(suffix):
continue
inFile = os.path.join(root,name)
data = pd.read_csv(inFile)
base = os.path.basename(inFile)
className = os.path.splitext(base)[0]
if inFile.endswith('.in.csv'):
maxTimeIn = data['frame.time_delta_displayed'].max()
minTimeIn = data['frame.time_delta_displayed'].min()
stdTimeIn = data['frame.time_delta_displayed'].std()
qual1TimeIn = data['frame.time_delta_displayed'].quantile(0.25)
qual2TimeIn = data['frame.time_delta_displayed'].quantile(0.5)
maxLenIn = data['frame.len'].max()
minLenIn = data['frame.len'].min()
stdLenIn = data['frame.len'].std()
qual1LenIn = data['frame.len'].quantile(0.25)
qua12LenIn = data['frame.len'].quantile(0.5)
if inFile.endswith('.out.csv'):
maxTimeOut = data['frame.time_delta_displayed'].max()
minTimeOut = data['frame.time_delta_displayed'].min()
stdTimeOut = data['frame.time_delta_displayed'].std()
qual1TimeOut = data['frame.time_delta_displayed'].quantile(0.25)
qual2TimeOut = data['frame.time_delta_displayed'].quantile(0.5)
maxLenOut = data['frame.len'].max()
minLenOut = data['frame.len'].min()
stdLenOut = data['frame.len'].std()
qual1LenOut = data['frame.len'].quantile(0.25)
qua12LenOut = data['frame.len'].quantile(0.5)
csvData = [['maxTimeIn', 'minTimeIn', 'stdTimeIn', 'q1TimeIn', 'q2TimeIn', 'maxLenIn', 'minLenIn', 'stdLenIn', 'q1LenIn', 'q2LenIn', 'maxTimeOut', 'minTimeOut', 'stdTimeOut', 'q1TimeOut', 'q2TimeOut', 'maxLenOut', 'minLenOut', 'stdLenOut', 'q1LenOut', 'q2LenOut','activity'],
[maxTimeIn, minTimeIn, stdTimeIn, qual1TimeIn, qual2TimeIn, maxLenIn, minLenIn, stdLenIn, qual1LenIn, qua12LenIn, maxTimeOut, minTimeOut, stdTimeOut, qual1TimeOut, qual2TimeOut, maxLenOut, minLenOut, stdLenOut, qual1LenOut, qua12LenOut, className]]
with open('/root/Desktop/OutputFile.csv','w') as csvFile:
writer = csv.writer(csvFile)
writer.writerows(csvData)
csvFile.close()