我有一个csv文件,我想将其转换为数字数据集。为此,我读取文件的每一行,并应用一个保留我想要的功能,并将其打印到另一个csv文件中。计算行数(csv模块)
我还想要做的是计算我读过的行数(原始数据集中的行数)和发生的错误数(原始数据集有一些错误,我的函数将会提高错误)
问题:使用下面的代码(见下文)只返回确切行数的一半。事实上,当我在一个正好有1 000 000行的文件上使用它时,nb_lines只有500 000.而且,由于我想记录不是“好”的行,我想我必须记录错误的行:/
data=csv.reader(open(path1,"rb"),delimiter=';',skipinitialspace=True)
output=csv.writer(open(path2,"wb"))
error=csv.writer(open(path3,"wb"))
nb_error=0
nb_lines=0
for row in data:
nb_lines=nbr_lines+1
try:
liste=data.next()
toprint=function(liste)
output.writerow(aprinter)
except Exception as e:
nb_error=nb_error+1
badline=[nb_lines,e]
error.writerow(badline)
我的循环出了什么问题? 在此先感谢:)
'nb_lines = nbr_lines + 1'你有没有在你运行代码错字? – Phlya
对不起,我没有正确粘贴我的代码。我改变了它 –