Pythonでの空行の削除について:How to Delete Blank Lines in Python
Pythonでの空行の削除
Pythonを使用してテキストデータやリストから空行を削除する方法について解説します。 空行を削除することで、データを整形したり、余分な情報を排除したりできます。
1. ファイル内の空行を削除
ファイルから空行を削除する場合、以下のコードを使用します。
with open("input.txt", "r", encoding="utf-8") as infile, open("output.txt", "w", encoding="utf-8") as outfile: for line in infile: # 空行でない行だけを書き出す if line.strip(): # strip()で空白や改行を削除 outfile.write(line)
上記のコードでは、line.strip()
を使用して空行を判定し、空行でない行のみを出力ファイルに書き込みます。
2. リストから空行を削除
リスト形式のデータから空行を削除する場合の例です。
# サンプルデータ lines = ["line 1", "\n", "line 2", "", "line 3"] # 空行を削除 filtered_lines = [line for line in lines if line.strip()] print(filtered_lines) # 出力: ['line 1', 'line 2', 'line 3']
このコードではリスト内包表記を使用して、空行(line.strip()
が空でない行)をフィルタリングしています。
3. 空行削除のポイント
- strip(): 行頭と行末の空白や改行を削除します。
- 条件式:
if line.strip()
のように条件を設定して空行を除外します。 - 入力データのエンコーディング: ファイルを操作する場合はエンコーディング(例: UTF-8)に注意してください。
まとめ
Pythonを使用すると、ファイルやリスト内の空行を簡単に削除できます。
strip()
や内包表記を活用することで、効率的にデータを整形することが可能です。