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

有两个问题。首先,您必须使用该splitlines()函数将字符串分成几行。(您所拥有的将一次迭代一个字符。)其次,当 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 回答