2014-11-28 4 views
2

하나는 4 개의 열과 여러 개의 행 (input.xlxs)을 포함하고 하나는 1 개의 열과 같은 수의 행 (rms_date.out)을 포함하는 두 개의 파일이 있습니다. input.xlxs 행을 배열로 읽는 중이고 rms_date.out에서 해당 행 1 행을 새 파일에 쓰기 전에 배열에 추가하려고합니다.Python에서 배열에 줄을 추가하면 문자열 객체에 특성이 추가되지 않습니다.

배열에 rms_date.out의 행을 추가하려고하면 배열에 String 유형이 있고 추가 메서드가없고 혼동 스럽다는 내용의 오류가 나타납니다.

https://stackoverflow.com/a/16222978/1227362 그러나 나는 분명히 뭔가를 잘못하고 있어요 :
array[i].append(line) 
AttributeError: 'str' object has no attribute 'append' 

다음 대답은 내가 할 수 있어야 뭘하는지 제안 보인다. 위의 예가 배열 객체 자체에 추가되어 있고 루프에 의해 결정된 특정 배열 색인에 추가하려고합니다. 사과 저는 필자가 지난 며칠 동안 처음으로 파이썬으로 작업했습니다.

내 코드 (나는 아직 새 파일에 첨부 된 배열을 작성하는 비트를 작성하지 않은) 여기에 있습니다 :

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!

+0

'배열 [I]를 '문자열 ('line')이다. 문자열에 '추가'할 수 없습니다. – jonrsharpe

+0

문자열은 변경 불가능합니다. '+'를 사용하여 concat 할 수있다. –

답변

1

문자열에 실제로 .append 메서드가 없으므로 파이썬에서 불변입니다.

하면 비록 병합을 사용할 수

array[i] += line