0

私はそのような構造を持つtxtファイルにそのようなエントリを持っています:

Some sentence.
Some other "other" sentence.
Some other smth "other" sentence.

原文:

Камиш-Бурунський залізорудний комбінат
Відкрите акціонерне товариство "Кар'єр мармуровий"
Закрите акціонерне товариство "Кар'єр мармуровий"

" の前にすべてを抽出し、別のファイルに書き込みたい。結果を次のようにしたい:

Some other
Some other smth
Відкрите акціонерне товариство
Закрите акціонерне товариство

私はこれをしました:

f=codecs.open('organization.txt','r+','utf-8')
text=f.read()
words_sp=text.split()
for line in text:
    before_keyword, after_keyword = line.split(u'"',1)
    before_word=before_keyword.split()[0]
    encoded=before_word.encode('cp1251')
    print encoded

しかし、 "を持たないファイル行があるため、機能しません。コードを改善して機能させるにはどうすればよいですか?

4

1 に答える 1

2

2 つの問題があります。まず、splitlines()関数を使用して文字列を行に分割する必要があります。(あなたが持っているものは、一度に 1 文字ずつ繰り返されます。) 次に、次のコードは、split が単一のアイテムを返すときに失敗します。

before_keyword, after_keyword = line.split(u'"',1)

以下は私にとってはうまくいきます:

for line in text.splitlines():
    if u'"' in line:
        before_keyword, after_keyword = line.split(u'"',1)
        ... etc. ...
于 2013-11-09T21:23:49.787 に答える