【Python】文字列を分割するsplit()とsplitlines()の違い


Pythonには文字列を分割するメソッドがあります。
以下では、そのメソッドの使い方を紹介します。


【Python】文字列を分割するメソッドの使い分け

文字列を分割する「split()メソッド」は任意の文字で分割したリストを返す動作をします。
以下のプログラムでは区切り文字としてコロン「:」やカンマ「,」などの記号を指定して文字列を分割します。

以下ではsplitメソッドを使用したプログラムの例となります。

文字列をsplit()メソッドで指定して分割する

以下のプログラムでは、コロンとカンマを利用し、分割した「split()メソッド」のプログラム例となります。
また、区切り文字を指定しない場合は、半角スペース、タブ「\t」、改行「\n」などの「空白」を表す文字で分割します。

text01 = 'Taro Kobayashi:98,100,89'
colon_splittest = text01.split(':')
print('コロンで区切る', colon_splittest)

comma_splittest = text01.split(',')
print('カンマで区切る', comma_splittest)

text02 = 'Taro Kobayashi  98  100  89'
space_splittest = text02.split()
print('スペースで区切る', space_splittest)

※実行結果

$ python3 split_test01.py 
コロンで区切る ['Taro Kobayashi', '98,100,89']
カンマで区切る ['Taro Kobayashi:98', '100', '89']
スペースで区切る ['Taro', 'Kobayashi', '98', '100', '89']
$ 


文字列をsplitlines()メソッドで開業ごとに文字列を区切り分割する

上記と同じように文字列を分割するメソッドに、「splitlines()」があります。
このメソッドは、改行ごとに文字列を区切り、リスト型として返すメソッドとなります。

ファイルのデータを一行ずつ読み込む際に便利です。

test_list = 'Apple\n, Orange\n,grape\n'.splitlines()
print(test_list)

※ 実行結果

$ python3 split_test01.py 
['Apple', ', Orange', ',grape']

上記のように「splitlines()」で改行の文字列を分割しますが、「split(‘\n’)」でも同様の処理は可能です。
しかし、このメソッドではファイルの末尾の改行コードがある場合、余分なデータができてしまい、エラーの原因となることがあります。

test_list = 'Apple\n, Orange\n,grape\n'.split('\n')
print(test_list)

※ 実行結果

$ python3 split_test01.py 
['Apple', ', Orange', ',grape', '']

「splitlines()」では改行をうまく処理してくれるため
ファイルの読み込み処理をする時に活用しましょう。


関連記事


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUTこの記事をかいた人

blank

インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!