对 csv 文件进行预测,一次一行

Make a prediction on csv file, one line at a time

我有一个很大的 csv 文件,我需要获取一行数据,一次一个,然后根据模型对其进行评分。我已经尝试了下面的代码但是得到 "X has 120839 features per sample; expecting 30" 的错误。我可以 运行 模型针对整个 dataset 并且它对每一行进行预测。但是我需要一次一行地做,谢谢。

loaded_model = joblib.load('LR_model.sav')
with open(r'fordTestA.csv', "r") as f:

for line in f:
    line = f.readlines()[1:]  ##minus headers
    result = loaded_model.predict(line)

在这种情况下,它似乎没有拆分行,因为每行后面有 \n。我尝试添加

line = line.rstrip('\n')

这给出了一个错误:" 'list' object has no attribute 'rstrip'"。提前感谢您的任何反馈。

我不熟悉 joblibpredict(),但是:

import csv

# other code

with open(r'fordTestA.csv', 'r', newline='') as f:
    rows = csv.reader(f, delimiter=',')
    _ = next(rows) # skip headers
    for row in rows:
        line = list(map(float, row)) # convert row of str to row of float
        results = loaded_model.predict(line)
        # or if you need a ',' delimited string
        line = ','.join(row)
        results = loaded_model.predict(row)