Python 属性错误:';非类型';对象没有属性';替换';-用下划线替换空白

Python 属性错误:';非类型';对象没有属性';替换';-用下划线替换空白,python,csv,Python,Csv,我想用下划线替换字符串中的空白。例如: “AmericInn_Hotel&Suites Sibley”成为“AmericInn_Hotel_uu&Suites Sibley” 这就是我试图做的 with open('Hallos.csv','r') as csvinput: with open('Hallos2.csv', 'w') as csvoutput: writer = csv.writer(csvoutput, lineterminator='\n') reader =

我想用下划线替换字符串中的空白。例如:

“AmericInn_Hotel&Suites Sibley”成为“AmericInn_Hotel_uu&Suites Sibley”

这就是我试图做的

with open('Hallos.csv','r') as csvinput:
with open('Hallos2.csv', 'w') as csvoutput:
    writer = csv.writer(csvoutput, lineterminator='\n')
    reader = csv.reader(csvinput, delimiter=';') #or delimiter ";"


    all = []
    row = next(reader)
    row.append('Param 2')
    row.append("Param 1")
    all.append(row)


    for row in reader:
        row.append("AA")
        row.append("AmericInn_" + row[0][9:])
        if row[0]:
            all.append(row.replace(" ", "_"))
这是它给我的:

  all.append(row.replace(" ", "_"))
  AttributeError: 'list' object has no attribute 'replace'

如果有人以不同的方式告诉我,这会有所帮助。任何反馈都将受到感谢。

all.append([i.replace(“,“”)代表行中的i])
正如错误消息告诉您的,您没有字符串。
row
是一个
列表(这就是为什么您可以例如
append
)-如果要对其中的每个字符串应用
replace
,则必须显式地对其进行迭代。在标题和问题中添加了不同的错误消息。是哪个?