Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python '_csv.reader';对象不可调用_Python_Csv - Fatal编程技术网

Python '_csv.reader';对象不可调用

Python '_csv.reader';对象不可调用,python,csv,Python,Csv,这个程序应该根据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(sens

这个程序应该根据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)
错误消息:

回溯(最近一次呼叫最后一次):
文件“C:/Users/clair/PycharmProjects/winSound/main.py”,第32行,在
数据,注释=设置()
文件“C:/Users/clair/PycharmProjects/winSound/main.py”,第16行,在设置中
对于数据中的行(范围(3632677)):
TypeError:“\u csv.reader”对象不可调用
进程已完成,退出代码为1

尝试添加分隔符参数怎么样?@G.Anderson
csv.reader
对象不可订阅。您打算在这里做什么
对于数据中的行(范围(3632677)):
,要在行上迭代,只需对数据中的行执行
:…
听起来好像他们只想使用一些行。感谢您纠正我关于可写性与可订阅性的问题,OP应该能够将其包装在列表和切片中,而不是使用范围。除非输入文件每行有多个逗号分隔的值,否则无需使用
csv.reader()
读取。文件中数据的格式是什么?