0

Python を使用して一連のテキスト ファイルを自動解析し、それらを XML ファイルに変換しようとしています。

テキストファイルをループして配列に読み込む方法を尋ねる人がたくさんいます。ここでの問題は、これがうまくいかないことです。

最初の 3 行を個別にループしてから、残りのテキスト ファイル (本文) を 1 つの配列エントリにドロップする必要があります。

テキストファイルは次のようにフォーマットされています。

見出し

小見出し

人によって

テキスト ファイルの本文の内容。複数の段落

Python でこれを行うには、どのように配列を設定すればよいでしょうか?

4

2 に答える 2

2

このようなもの:

with open("data1.txt") as f:
    head,sub,auth = [f.readline().strip() for i in range(3)]
    data=f.read()
    print head,sub,auth,data

行の間にスペースがある場合は、次のことを試してください。

filter()空の行を削除します:

 with open("data1.txt") as f:
    head,sub,auth =filter(None,(f.readline().strip() for i in range(6)))
    data=f.read()
    print head,sub,auth,,data
于 2012-10-31T21:33:03.593 に答える
1

私があなたの質問を正しく理解したなら、あなたは最初の3行を除くすべてのテキストを配列(リスト)に入れたいと思うでしょう。その方法は次のとおりです。

with open("/path/to/your/file.txt") as f:
    all_lines = f.readlines()
content_lines = all_lines[3:]
content_text = '\n'.join(content_lines)
content_list.append(content_text)

説明:最初にファイルを開いてから、そのすべての行をリストに入れます。次に、最初の3行以降のすべての行を取得し、それらをリストに入れます。次に、この新しいリストを改行で結合して、再びコンテンツにします。次に、この新しいコンテンツを、事前に作成した「content_list


最初の3行もリストに追加する場合は、に追加する前に次のようにしますcontent_list

for line in all_lines[:3]:
    content_list.append(line)
于 2012-10-31T21:29:39.483 に答える