2017-09-04 84 views
0

我對Python很新,我有一個任務,我必須從文本文件中導入一些地址,然後搜索並縮寫道路標題(即將'道路'更改爲'RD')。如何分割Python中2D數組內的字符串?

到目前爲止,我已經設法導入文件,並且我已經能夠形成一個二維數組,其中整個地址位於主數組內的一個單獨數組中。我一直在尋找一種方法進入數組內部,這樣我就可以拆分它們的字符串,這樣我就可以執行縮寫,然後在Excel中自己的行上輸出每個子數組。

這是我的代碼的時刻:

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

代碼輸出,這至今:

['52科林斯路 ' '第一樓'],['20英格拉姆街' ,'Forest Hills','紐約'],[Westbourne Terrace Road','Buxton'],['The Terrace Restaurant','81 Royal Street','Solihull']]

我需要它成爲:

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

+0

也許使用'addresses.append(row.split())',而不是試圖在事後的行拆分。 –

+0

'[[''52','科林斯','道路','第一','地板']]'這是你的要求還是錯字?似乎沒有達到任何目的。或者你的意思是說'[''52','科林斯','道路','第一','地板'],['20','英格拉姆','街道','森林' ,'新','約克']]' – 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(' '))