如何分割Python中2D数组内的字符串?

问题描述:

我对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

您可以使用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] 

您应该为列表中的每个字符串使用str.split函数。

split_strings = [] 
for string in string_list: 
    split_strings.append(string.split(' '))