

Pythonで以下のようなテキストファイルから、出力結果をリストで出力したい場合のコードをご教示いただけますでしょうか。

**対象のテキストファイル:**  
[![画像の説明をここに入力](https://i.stack.imgur.com/xDRpB.png)](https://i.stack.imgur.com/xDRpB.png)

**期待する出力結果:**

[code]

    ["株式会社〇〇〇　帯広太郎様","株式会社〇〇〇","営業部","帯広太郎","オビヒロタロウ","123-4567","株式会社〇〇〇","0120-111-111","000-000-000","obihirotaro.com","紙について","代表者様へのご提案【相談したい】"]
    
[/code]

* * *

自分で出来たのは以下のコードで、行ごとに処理したのですが、それで止まってしまいました。

**現状のコード:**

[code]

    fileobj = open(r"〇〇〇.txt", encoding="utf_8")
    while True:
    line = fileobj.readline()
    if line:
    row_no += 1
    print(row_no, ":", line)
    else:
    break
    
[/code]


CC BY-SA 4.0
2022-04-18T08:44:37.570
88379
2022-04-18T16:29:30.763
2022-04-18T11:17:42.060
3060
51630
question
python
pythonの実行方法


[Pythonでテキストファイルの内容をリスト化してCSVで出力する](https://ja.stackoverflow.com/q/86604/26370)  
コメントに書いたような仕様であるならば、上記記事の @metropolis さんの回答を参考にして、以下のように出来るでしょう。

[code]

    #### 'お問い合わせ内容'に複数行を許すためにいったんデータ読み込みだけ行う
    with open(r'〇〇〇.txt', encoding='utf-8') as f:
        d = f.read()
    
    #### ファイル末尾の空白および空白行を削除する
    d = d.rstrip()
    
    #### ':'の存在する行だけ処理していったん辞書を作成する
    records = dict(j.split(':') for j in d.split('\n') if ':' in j)
    
    #### 最後の':'以後を切り出して'お問い合わせ内容'に挿入する
    contents = d[(d.rindex(':')+1):]
    records['お問い合わせ内容'] = contents
    
    #### 辞書の値だけ取り出してリストにする
    result = list(records.values())
    
[/code]

ただし、WindowsのPython 3.10.4 の環境(が原因かどうかわかりませんが)では、`株式会社〇〇〇
帯広太郎様`の全角空白文字が`\u3000`になって、`株式会社〇〇〇\u3000帯広太郎様`と表示されてしまいます。`d =
f.read()`を行っただけの結果が既にそうなっているので、`open()`のパラメータか何かで調整できるのかもしれません。

ちなみに文字列を示すクォーテーションはダブルクォーテーションではなくシングルクォーテーションが使われますが。


CC BY-SA 4.0
2022-04-18T15:34:37.767
88385
2022-04-18T16:29:30.763
2022-04-18T16:29:30.763
26370
26370
88379
answer