перебирая файл Python - PullRequest
       6

перебирая файл Python

0 голосов
/ 26 апреля 2018

Я собираюсь подсчитать все базовые числа в столбцах Isc, Voc Imp, Vmp, FF и Pmp по отдельности и взять среднее значение для каждого столбца.Ниже приведен файл, который я читаю в моей программе (test_results.csv).

enter image description here

Вот мой код.

from MyClasses import TestResult

def main():
        test = "test_results.csv"
        inputFile = open(test, 'r')
        user = TestResult()
        counter = 0.0
        hold = 0.0

        for i in range (4,10):
                for l in inputFile.readlines()[1:]:
                        split = l.split(",")
                        if user.getTestSeq(split[1]) == "Baseline":
                                num = float(user.getIsc(split[i]))
                                hold += num
                                counter += 1
                print counter
                print hold
                total = hold/counter
                print total

main()

Я использовал строку

num = float(user.getIsc(split[i]))

сНадеюсь, что я смогу пройтись по i с общим столбцом, взять среднее и перейти к следующему столбцу.Но я не могу перейти к следующему столбцу.Я просто распечатываю один и тот же столбец Isc несколько раз.Есть идеи, почему?Я также собираюсь поместить элементы «Последовательности тестирования» в список, который я мог бы повторить таким же образом для строки

if user.getTestSeq(split[1]) == "Baseline":

, чтобы я мог подсчитать все столбцы для базовой линии, а затем перейти к подсчету вверхвсе колонки для TC200, Hotspot и тд.Это хороший подход?прежде чем перейти к этому, я хотел решить первую итерационную проблему.

Спасибо

1 Ответ

0 голосов
/ 26 апреля 2018

Вы должны использовать либо DictReader из модуля CSV, либо read_csv из модуля pandas

Я рекомендую модуль pandas, поскольку вы также выполняете операции с данными, используя.

import pandas as pd

df = pd.read_csv("test_results.csv")

df будет содержать вашу таблицу CSV как есть, нет необходимости преобразовывать ее в числа с плавающей точкой или целые числа

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...