2016-03-29 6 views
0

私は3つの文字列を持っています。各文字列には名前、住所、郵便番号が含まれています。3つの文字列を1つのブロックにPythonで結合します

まず文字列:

Joao Miesler 
Bill Gates 
Kevin Mitnick 

2番目の文字列:

Street kit number 3 
Street foo number 2 
Street OOk number 4 

3番目の文字列:

Joao Miesler 
Street kit number 3 
2415-568 

Bill Gates 
Street foo number 2 
1452-856 

Kevin Mitnick 
Street OOk number 4 
1234-568 

2415-568 
1452-856 
1234-568 

私は、出力のようなものになりたいです

この情報は、このようなエクセルのワークシートから抽出した:

#Get columns name 
for i in range(13, high_row, 1): 
    nome = sheet['E%s' % i].value 


#Get column adresses 
for i in range(13, high_row, 1): 
    morada = sheet['F%s' % i].value 

#Get Postal Code column 
for i in range(13, high_row, 1): 
    cp = sheet['G%s' % i].value 

あなたは正しい方向に私を指すことができますか?トンネルの端にある光の一部は素晴らしいでしょう。

この後、A4用紙を作成し、出力を四角形に分割したいと思います。私がそれを実現させるために使用できる良いライブラリですか?あなたのデータを想定し

+1

が同じ 'for'にすべてのそれらの値を取得してみ同じ長さを有しています。 – Lafexlos

答えて

0

?これらを想定し

for i in range(13, high_row, 1): 
    nome = sheet['E%s' % i].value 
    morada = sheet['F%s' % i].value 
    cp = sheet['G%s' % i].value 

    data = [nome, morada, cp] 
    print('\n'.join(map(str,data))) 
+0

それは私が欲しかったのとまったく同じでした。私はちょうど1つの問題があった:enconding。私はこのリンク[UnicodeをPythonに変換する](http://stackoverflow.com/questions/13485546/converting-unicode-to-in-python)に従っていましたが、 'º'や'ç'のようなcharectersは奇妙なシンボルを取得しています。あなたは私のためにトンネルの終わりに光を持っていますか? –

+0

ええ、すみません。それは文字を印刷している場所の問題かもしれません。一部の端末では、エンコード設定を変更できます。 –

0

は、複数行の文字列である:あなたが使用している場合

names = names.split('\n') 
addresses = addresses.split('\n') 
phone_numbers = phone_numbers.split('\n') 

for name, address, phone in zip(names, addresses, phone_numbers): 
    print('%s\n%s\n%s\n' % (name, address, phone)) 
0

names = """Joao Miesler 
Bill Gates 
Kevin Mitnick""" 

これを行うにはPython的な方法はzipを使用して行のリストで動作し、それらを結合することです3つの文字列の各行を個別にまたは一緒に格納するためのリスト。基本的なリスト機能で印刷する行を選択できます。

だから、次のようになります。あなただけのものを持っていることができるとき3つのループを持っているのはなぜ

list1 = ['Joao Miesler', 'Bill Gates', 'Kevin Mitnick'] 
list2 = ['Street kit number 3', 'Street foo number 2', 'Street OOk number 4'] 
list3 = ['2415-568', '1452-856', '1234-568'] 

print(list1[0],\n,list2[0],\n,list3[0]) 

など

0

\nで割った複数行の文字列であり、すべては

s1a = s1.split('\n') 
s2a = s2.split('\n') 
s3a = s3.split('\n') 

newString = '' 
for i in range(len(s1a)): 
    newString += (s1a[i]+'\n') 
    newString += (s2a[i]+'\n') 
    newString += (s3a[i]+'\n') 
    newString += '\n' 
関連する問題