2017-09-04 1 views
0

저는 python을 처음 접했고 텍스트 파일에서 일부 주소를 가져온 다음 작업 제목을 검색하고 도로 제목을 생략해야합니다 (예 : 'RD'로 '도로'변경).파이썬에서 2D 배열 안에있는 문자열을 분할하는 방법은 무엇입니까?

지금까지 파일을 가져 왔으며 전체 주소가 메인 배열 내부의 별도 배열에있는 2D 배열을 구성 할 수있었습니다. 나는 문자열을 나눌 수 있도록 배열 내부에 들어가는 방법을 찾고 있었기 때문에 abbreveation을 수행 한 다음 각 하위 배열을 Excel의 자체 행에 출력 할 수있었습니다. 이 지금까지

def sec_2(): 
    addresses = [] 
    with open('Addresses2.txt', newline='') as Addresses2: 
     for row in csv.reader(Addresses2): 
      addresses.append(row) 
    print(addresses) 

코드 출력 :

[['52 고린도 도로 ','1 층 '], ['20 잉그램 거리'

이 순간에 내 코드입니다 'The Terrace Restaurant', '81 Royal Street', 'Solihull']]

나는 그것을 필요로한다 ","숲 언덕 ","뉴욕 ", [14 Westbourne 테라스 도로], [Buxton] :

[[ '52', 'Corinthian', ' 'Road', 'First', 'Floor']], [[20 ','Ingram ','Street ','Forest ','Hills ','New ','York '] 등 ...

+0

은 아마도 사용'addresses.append (row.split())'대신 사후 행을 분할하려고 노력. –

+0

'[[ '52', 'Corinthian', 'Road', 'First', 'Floor']]'이것은 당신의 요구 사항입니까 아니면 오타입니까? 실제로 어떤 목적을 위해 봉사하는 것 같지 않습니다. 아니면 '20', 'Ingram', 'Street', 'Forest', 'Hills', ' , 'New', 'York']]' – Anusha

+0

그건 오타였습니다, 미안 해요. 또한, 'addresses.append (row.split())'시도하고 작동하지 않았다. – Anabelle

답변

0

당신은 itertools를 사용할 수 있습니다

import csv 
import itertools 

data = csv.reader(open('filename.csv')) 
final_data = [list(itertools.chain.from_iterable([b.split() for b in i])) for i in data] 
1

목록의 각 문자열에 대해 str.split 함수를 사용해야합니다.

split_strings = [] 
for string in string_list: 
    split_strings.append(string.split(' ')) 
관련 문제