【发布时间】:2014-03-30 10:42:54
【问题描述】:
我有一个摘要,我已将其拆分为 Python 中的句子。我想写2张桌子。一个包含以下列:abstract id(这是我从文档中提取的文件编号)、sentence id(自动生成)以及该摘要的每个句子在一行中。
我想要一个看起来像这样的表
abstractID SentenceID Sentence
a9001755 0000001 Myxococcus xanthus development is regulated by(1st sentence)
a9001755 0000002 The C signal appears to be the polypeptide product (2nd sentence)
另一个表NSFClasses 具有abstractID 和nsfOrg。
如上所示,如何将句子(每行)写入表格并分配sentenceId?
这是我的代码:
import glob;
import re;
import json
org = "NSF Org";
fileNo = "File";
AbstractString = "Abstract";
abstractFlag = False;
abstractContent = []
path = 'awardsFile/awd_1990_00/*.txt';
files = glob.glob(path);
for name in files:
fileA = open(name,'r');
for line in fileA:
if line.find(fileNo)!= -1:
file = line[14:]
if line.find(org) != -1:
nsfOrg = line[14:].split()
print file
print nsfOrg
fileA = open(name,'r')
content = fileA.read().split(':')
abstract = content[len(content)-1]
abstract = abstract.replace('\n','')
abstract = abstract.split();
abstract = ' '.join(abstract)
sentences = abstract.split('.')
print sentences
key = str(len(sentences))
print "Sentences--- "
【问题讨论】:
-
问题的确切性质是什么?你上面的代码不行吗?
-
我上面的代码有效。 1 个摘要的输出是:a9001755 ['IBN'] ['Myxococcus xanthus development is regulation by the Csg intercellular communication system', 'The C signal appears to be the polypity product of the csgA gene', '初步结果表明四个未来工作的方向','首先,csgA的随机诱变,然后是发育突变体的DNA测序,有望确定蛋白质的重要功能域']问题是我不知道如何导入上面的表格。
-
那么,您面临的问题是什么?
-
我想将每个句子放在一个单独的行中,其文件号和句子 ID 如我最初的问题中所述。我只是不知道该怎么做。我不是程序员,我是 python 新手。
-
您的代码很难在没有看到示例文件的情况下遵循,但我建议您做的是,由于文件中的所有句子都在您的“句子”数据结构中,您可以启动一个 for 循环在“print Sentences”之后的这个数据结构上,还要在此之前将一个 lineNumber 变量初始化为零,然后循环这个结构并打印出其中的每个元素:print name, lineNumber, sentence。
标签: python oracle-sqldeveloper rows tabular