在Python中将行追加到数组中,字符串对象没有append属性。

3 浏览
0 Comments

在Python中将行追加到数组中,字符串对象没有append属性。

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

当我尝试将rms_date.out中的行附加到数组中时,我会得到一个错误,似乎说明数组是String类型,并且没有附加方法,我感到困惑:

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

以下答案似乎表明我正在做的应该是可能的:https://stackoverflow.com/a/16222978/1227362,但是我显然做错了什么。是因为上面的示例是附加到数组对象本身,而我正在尝试附加到由循环确定的特定数组索引吗?抱歉,我只是最近几天第一次使用Python。

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

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()

另外,是否有比上述方法更简单的方法来实现我提出的内容?

感谢,John!

admin 更改状态以发布 2023年5月23日
0
0 Comments

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

不过,你可以使用拼接:

array[i] += line

0