2017-12-16 6 views
1

私はExcelからコピーした値からリストを作成しようとしています。例えば;私は、最初の列の最初の5行をコピーして、このようなリストを作りたい:コピーした値からリストを作成する

a_list=[2503531709, 4789009637, 8171670652, 8434851938, 9629960060] 

私はpyperclipは、私は、次のいずれかを書いた。このような値

'2503531709\r\n4789009637\r\n8171670652\r\n8434851938\r\n9629960060\r\n' 

を取ることがわかります。私はこのケースのために[i:i + 9]しました。値の長さは10より大きい場合があります。

import pyperclip 
isbn=pyperclip.paste() 
a_list=[] 

for i in range(len(isbn)): 
    if ('\r') or ('\n') not in isbn[i:i+9]: 
     a_list.append(isbn[i:i+9]) 

print(a_list) 

コードが期待通りに機能しませんでした。値を区別してリストに追加するにはどうすればよいですか?

答えて

1

だけstr.splitを使用します。

a_list = isbn.split('\r\n')

あなたは値が整数になりたい場合は、次の

a_list = [int(val) for val in isbn.split('\r\n') if val]

+0

私はあなたが 'map'液を取り出しました。 'map'も使うことができます。最後の空の要素を捨てるようにしてください。たとえば、 'a_list = list(map、int、isbn.split( '\ r \ n')[: - 1]))'を使用します。 isbn文字列はsplitメソッド呼び出しで使用される区切り文字で終了するため、最後の要素は空です。 – slackmart

関連する問題