在python中向数组追加行,string对象没有属性append

Appending line to array in Python, String object has no attribute append

我有两个文件,一个包含4列和多行(input.xlx),另一个包含1列和相同行数(rms_date.out)。我正在将input.xlx中的行读取到一个数组中,并尝试在写入新文件之前将rms_date.out中对应的1行追加到数组中。

当我尝试将rms_date.out的行追加到数组时,我得到一个错误,该错误似乎表明数组是string类型,没有append方法,我很困惑:

1
2
    array[i].append(line)
AttributeError: 'str' object has no attribute 'append'

下面的答案似乎表明我所做的应该是可能的:https://stackoverflow.com/a/16222978/1227362但是我显然做了一些错误的事情。上面的示例是附加到数组对象本身,而我正试图附加到由循环确定的特定数组索引,这是事实吗?抱歉,我最近几天才第一次和python合作。

我的代码在这里(我还没有写位来将附加数组写入新文件):

1
2
3
4
5
6
7
8
9
10
11
ins = open("input.xlsx","r" )
array = []
for line in ins:
    array.append(line)
file = open("rms_date.out","r")
for i in range(0, len(array)):
    for line in file:
        array[i].append(line)
        print array[i]
file.close()
ins.close()

有没有比上述更简单的方法来做我的提议?谢谢,约翰!


实际上,字符串没有.append方法,它们在Python中是不可变的。

但可以使用串联:

1
array[i] += line