首页 > 解决方案 > '_csv.reader' 对象不可调用

问题描述

该程序应该基于 CSV 文件发出声音。

数据集中有一个频率范围为 37-32677。一开始我没有添加这个并且得到了同样的错误信息。我尝试在此范围内添加,但仍然遇到相同的错误。

import winsound
import csv

winsound.Beep(261,100)

def preload(filename):
    file = open(filename)
    data = csv.reader(file)
    return data

def getNote(sensorVal):
    return int(sensorVal * 75)

def setup():
    cleanedData = {}
    notes = []
    data = preload("data1.csv")
    for row in data(range(36,32677)):
        print(row)
        if row[1] != "trial number":
            sensorVal = float(row[4])
            channel = int(row[7])
            if channel not in cleanedData:
                cleanedData[channel] = []
            cleanedData[channel].append({"sensorVal":sensorVal})
            notes.append(getNote(sensorVal))
    return cleanedData,notes

def play(notes,time):
    for note in notes:
        winsound.Beep(note,time)

data, notes = setup()
play(notes, 200)

错误信息:

Traceback (most recent call last):
  File "C:/Users/clair/PycharmProjects/winSound/main.py", line 32, in <module>
   data, notes = setup()
  File "C:/Users/clair/PycharmProjects/winSound/main.py", line 16, in setup
    for row in data(range(36,32677)):
TypeError: '_csv.reader' object is not callable

Process finished with exit code 1

标签: pythoncsv

解决方案


推荐阅读