[Python]テキストファイルの改行削除!readlines, split, strip

Pythonでテキストファイルを扱う際の基本的なメソッド

Pythonでは、テキストファイルを扱うための基本的なメソッドが用意されています。これらのメソッドを使うことで、テキストファイルを読み込んだり、書き込んだりすることができます。

readlinesメソッドについて

readlinesメソッドは、テキストファイルを1行ずつ読み込んで、リストに格納します。以下は、readlinesメソッドを使ってテキストファイルを読み込む例です。

with open('sample.txt', 'r') as f:
    lines = f.readlines()
    print(lines)

このプログラムを実行すると、以下のような出力が得られます。

['Apple\n', 'Banana\n', 'Cherry\n', 'Date\n']

readlinesメソッドは、改行文字(\n)を含む文字列をリストに格納するため、後で改行を削除する必要があります。

splitメソッドについて

splitメソッドは、文字列を指定した区切り文字で分割して、リストに格納します。以下は、splitメソッドを使ってテキストファイルを読み込む例です。

with open('sample.txt', 'r') as f:
    lines = f.read().split('\n')
    print(lines)

このプログラムを実行すると、以下のような出力が得られます。

['Apple', 'Banana', 'Cherry', 'Date', '']

splitメソッドは、改行文字(\n)を区切り文字として指定することで、改行を削除することができます。

stripメソッドについて

stripメソッドは、文字列の先頭と末尾から指定した文字列を削除します。以下は、stripメソッドを使ってテキストファイルを読み込む例です。

with open('sample.txt', 'r') as f:
    lines = [line.strip() for line in f.readlines()]
    print(lines)

このプログラムを実行すると、以下のような出力が得られます。

['Apple', 'Banana', 'Cherry', 'Date']

stripメソッドを使うことで、改行を削除することができます。

テキストファイルの改行を削除する方法

テキストファイルの改行を削除するには、readlines, split, stripメソッドを組み合わせて使うことができます。以下は、改行を削除するためのプログラム例です。

with open('sample.txt', 'r') as f:
    lines = [line.strip() for line in f.readlines()]
with open('output.txt', 'w') as f:
    f.write('\n'.join(lines))

このプログラムを実行では、sample.txtの改行を削除したあとoutput.txtを作成しています。

readlines, split, stripを組み合わせた実践的な例

以下は、実践的な例として、CSVファイルから特定の列を抜き出すプログラム例です。

CSVファイル(sample.csv)の内容:

Name, Age, Gender
Alice, 25, Female
Bob, 32, Male
Charlie, 18, Male
Diana, 41, Female
with open('sample.csv', 'r') as f:
    lines = [line.strip().split(',') for line in f.readlines()]
header = lines[0]
age_index = header.index('Age')
for line in lines[1:]:
    print(line[age_index])

このプログラムを実行すると、以下のような出力が得られます。

25
32
18
41

このプログラムでは、CSVファイルを読み込んで、各行をカンマで分割して、リストに格納しています。その後、ヘッダー行からAge列のインデックスを取得し、各行からAge列の値を抜き出しています。

まとめ

Pythonでテキストファイルを扱う際には、readlines, split, stripメソッドを組み合わせることで、改行や空白文字を削除することができます。また、CSVファイルなどのテーブル形式のデータから特定の列を抜き出すこともできます。