首页 > 解决方案 > 如何修复“csv_reader 中的行”不起作用?

问题描述

我正在阅读可变长度的两列 .csv 文件。我编写了一些代码,应该能够将数据栏的第一行读入 x Data 列和 ay Data 列。这是代码:

def csvReader(filename):
with open(filename) as csvFile:
    csvReader = csv.reader(csvFile, delimiter = ',')
    rowCount = sum(1 for row in csvReader)
    xData = np.zeros(rowCount)
    yData = np.zeros(rowCount)
    line_count = 0
    firstLine = True

    for row in csvReader:
        print(row)
        if firstLine:
            firstLine = False
            continue
        xData[line_count] = row[0]
        yData[line_count] = row[1]
        line_count += 1
    return xData,yData

它输出一个零数组,并且控制台从不显示任何打印输出,这似乎意味着整个 for 循环都被跳过了。对此问题的任何帮助将不胜感激。

标签: pythonpython-2.7csv

解决方案


当你这样做时,你正在耗尽迭代器

rowCount = sum(1 for row in csvReader)

您需要倒带文件才能再次阅读。

csvFile.seek(0)

推荐阅读