2017-09-04 2 views
0

私はPythonにはかなり新しく、テキストファイルからいくつかのアドレスをインポートして、道路のタイトルを検索して略奪する(つまり 'RD'に '道路'を変更する)というタスクがあります。Pythonで2D配列の内部にある文字列を分割する方法は?

これまでファイルをインポートしていましたが、全体のアドレスがメイン配列内の別の配列にある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 Terrace Road'、 'Buxton'、 'The Terrace Restaurant'、 '81 Royal Street'、 'Solihull']

私はそれが必要ですになる:

[['52'、 'C​​orinthian'、 ' 'Road'、 'First'、 'Floor']]、[[20 '、' Ingram '、' Street '、' Forest '、' Hills '、' New '、' York ']など...

+0

はおそらく、使用 'addresses.append(row.split())'代わりに事実の後の行を分割しようとしているの。 –

+0

'[['52'、 'C​​orinthian'、 'Road'、 'First'、 'Floor']]'これはあなたの要求か打者ですか?どんな目的にも役立たないようです。それとも、「コリンチアン」、「ロード」、「ファースト」、「フロア」、「20」、「イングラム」、「ストリート」、「森」、「ヒルズ」、 、 '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(' ')) 
関連する問題