Pythonコードで、/ で区切られた複数行の文章を1行に結合し出力する

 Pythonコードで、/ で区切られた複数行の文章を1行に結合し出力する。

■ Pythonコード1
・入力ファイル(.txt)
I am happy.
You are happy.
She is happy.
/
I am cold.
We are cold.
It is cold today.

・出力ファイル(.txt)
I am happy.You are happy.She is happy.
I am cold.We are cold.It is cold today.

・コード:
def merge_text_lines(file_path, output_path):
    with open(file_path, 'r', encoding='utf-8') as file:
        # テキストファイルを読み込む
        lines = file.read().splitlines()

    merged_lines = []
    current_sentence = []

    for line in lines:
        # '/'で区切られている場合
        if line == '/':
            # current_sentenceを結合して1行の文章にし、リストに追加
            if current_sentence:
                merged_lines.append(''.join(current_sentence))
                current_sentence = []
        else:
            # '/'でない行はcurrent_sentenceに追加
            current_sentence.append(line)

    # 最後の文がある場合は追加
    if current_sentence:
        merged_lines.append(''.join(current_sentence))

    # 各文章を改行で結合してファイルに書き込む
    with open(output_path, 'w', encoding='utf-8') as output_file:
        output_file.write('\n'.join(merged_lines))

# 入力ファイルと出力ファイルのパスを指定して実行
merge_text_lines('path_to_your_file.txt', 'output_file.txt')

■ Pythonコード2
・入力ファイル(.txt)
I am happy.
You are happy.
She is happy.
/
I am cold.
We are cold.
It is cold today.

・出力ファイル(.txt)[コンマ区切り]
I am happy.,You are happy.,She is happy.
I am cold.,We are cold.,It is cold today.

・コード2:
def merge_text_lines_with_commas(file_path, output_path):
    with open(file_path, 'r', encoding='utf-8') as file:
        # テキストファイルを読み込む
        lines = file.read().splitlines()

    merged_lines = []
    current_sentence = []

    for line in lines:
        # '/'で区切られている場合
        if line == '/':
            # current_sentenceをカンマ区切りで1行の文章にし、リストに追加
            if current_sentence:
                merged_lines.append(','.join(current_sentence))
                current_sentence = []
        else:
            # '/'でない行はcurrent_sentenceに追加
            current_sentence.append(line)

    # 最後の文がある場合は追加
    if current_sentence:
        merged_lines.append(','.join(current_sentence))

    # 各文章を改行で結合してファイルに書き込む
    with open(output_path, 'w', encoding='utf-8') as output_file:
        output_file.write('\n'.join(merged_lines))

# 入力ファイルと出力ファイルのパスを指定して実行
merge_text_lines_with_commas('path_to_your_file.txt', 'output_file_with_commas.txt')

■ Pythonコード3
入力ファイル(.txt)[最後の行に/がある]
I am happy.
You are happy.
She is happy.
/
I am cold.
We are cold.
It is cold today.
/

・出力ファイル(.txt)[コンマ区切り]
I am happy.,You are happy.,She is happy.
I am cold.,We are cold.,It is cold today.

・コード3
def merge_text_lines_with_commas(file_path, output_path):
    with open(file_path, 'r', encoding='utf-8') as file:
        # テキストファイルを読み込む
        lines = file.read().splitlines()

    merged_lines = []
    current_sentence = []

    for line in lines:
        # '/'で区切られている場合
        if line == '/':
            # current_sentenceに文がある場合のみカンマ区切りで1行に結合し、リストに追加
            if current_sentence:
                merged_lines.append(','.join(current_sentence))
                current_sentence = []  # 次の文のためにリストをリセット
        else:
            # '/'でない行はcurrent_sentenceに追加
            current_sentence.append(line)

    # 最後の'/'でcurrent_sentenceがリセットされているので、追加処理は不要

    # 各文章を改行で結合してファイルに書き込む
    with open(output_path, 'w', encoding='utf-8') as output_file:
        output_file.write('\n'.join(merged_lines))

# 入力ファイルと出力ファイルのパスを指定して実行
merge_text_lines_with_commas('path_to_your_file.txt', 'output_file_with_commas.txt')