繁体   English   中英

如何通过以下代码在 csv 文件中明智地写入数据行?

[英]how to write data row wise in csv file by following code?

运行以下代码时出现错误,如何解决?

错误:

csv.Error:预期可迭代,而不是 numpy.int64

y_test = np.array(test_labels)
print('y_test_labels:', y_test.shape) # (230,123)

with open('/content/drive/My Drive/GEINet_and_PEINet/VGG_CSV/test.csv', mode='w') as employee_file:
    employee_writer = csv.writer(employee_file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
    #employee_writer.writerow(y_test)
    x,y = y_test.shape
     print('x: ',x)
    for num in range(0, x):
        employee_writer.writerows(y_test[num,:])

试试这个employee_writer.writerows(list(y_test[num,:]))

您应该使y_test[num,:]可迭代,将其修改为列表序列,您可以将y_test[num,:]替换为map(lambda x: [x], y_test[num,:]) 另一种方法不是制作 NumPy 数组y_test ,而是使用 pandas Series中的to_csv()方法从头开始迭代test_labels数据帧。

您可以直接在数组上调用writerows

employee_writer.writerows(y_test)

你可以这样做:

with open('/content/drive/My Drive/GEINet_and_PEINet/VGG_CSV/test.csv', mode='w') as employee_file:
    employee_writer.writerows(y_test)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM