list to csv file - AttributeError: 'str' object has no attribute 'writer'

list to csv file - AttributeError: 'str' object has no attribute 'writer'

我要转换以下列表

csv_list[:5]
[['s01_l01/1_1.png', '1', '7C2 4698', '7C24698'],
 ['s01_l01/2_1.png', '1', '7C2 4698', '7C24698'],
 ['s01_l01/2_2.png', '1', '7C2 4698', '7C24698'],
 ['s01_l01/2_3.png', '1', '7C2 4698', '7C24698'],
 ['s01_l01/2_4.png', '1', '7C2 4698', '7C24698']]

到 csv 文件。

我使用了这个代码:

with open('/content/gdrive/My Drive/data/2017-IWT4S-CarsReId_LP-dataset/TrainValV1.csv', 'w', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(csv_list)

并得到这个错误:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-65-30765791e5c8> in <module>()
      1 with open('/content/gdrive/My Drive/data/2017-IWT4S-CarsReId_LP-dataset/TrainValV1.csv', 'w', newline='') as file:
----> 2     writer = csv.writer(file)
      3     writer.writerows(csv_list)

AttributeError: 'str' object has no attribute 'writer'

我需要更改什么?

非常感谢!

这一定意味着错误输出中第二行的 csv 是类型为 str 的对象,如错误消息所述。如果您 post 显示您如何定义 csv 的完整代码,我们可以缩小原因。可能您在 import csv.

之后的某个时间定义了其他内容,例如 csv = '<some string>'

我会稍微扩展一下您通常在 Python 中看到 AttributeError 的时间,以便您将来可以更快地发现此类内容。当您有这样一行时,您会看到该错误:

# will error if x does not actually have this attribute
x.some_attribute_y
# This line is basically equivalent to the above line:
getattr(x, 'some_attribute_y')

错误消息会说:

AttributeError: '<type of object x>' object has no attribute 'some_attribute_y'