0

辞書に入れる必要がある外部ファイルがあります。各記事は で始まり、<NEW DOCUMENT>下の行から<newdoc>他の<newdoc>. これが私がこれまでに持っているものです。

for line in file2:
    line = line.strip()
    line_list = line.split()
    if "NEW DOCUMENT" in line:
        doc_num+=1
        new_dict[doc_num] = line
        print(new_dict)

ファイルはこんな感じ。

<NEW DOCUMENT>
Look on the bright 
side of Life.
<NEW DOCUMENT>
look on the very, dark
side of the Moon
4

3 に答える 3

2

ソリューションの変更は次のとおりです。

   

docs = []
document = []
for line in file2:
    line = line.strip()
    if line == "<NEW DOCUMENT>":
        # start a new document
        document = []
        docs.append(document)
    else:
        # append to the current one
        document.append(line)

# convert lists of lines into a string
docs = ['\n'.join(document) for document in docs]
于 2012-10-26T22:34:24.370 に答える
0

これはあなたのためにそれを行います:

docs = file2.read().split("<NEW DOCUMENT>\n")

キーが連番である辞書が必要な理由は、辞書ではなくリストです。ただし、辞書が必要な場合は、次を使用します。

new_dict = dict(enumerate(docs))
于 2012-10-26T22:34:27.707 に答える
0

このようなもの:

In [7]: with open("data1.txt") as f:
    data=f.read()
    dic=dict((i,x.strip()) for i,x in enumerate(data.split("<NEW DOCUMENT>")[1:]))
    print dic
   ....:     
   ....:     
{0: 'Look on the bright \nside of Life.', 1: 'look on the very, dark\nside of the Moon'}
于 2012-10-26T22:35:44.970 に答える