学术论文信息提取
现有一篇PDF格式的学术论文step3/ICSE2014.pdf。
右侧编辑器中有一个函数Read,它有一个参数path,代表这个PDF的路径,或者是另一个类似的PDF文件的路径,它们的区别仅在于元数据上。
请在这个函数中读取指定论文元数据中的标题、作者、关键字、最后一次修改日期四个属性,并将其按照(<编号>)<属性名> : <属性值>的格式输出。
要求:
<编号>是按输出顺序编号为1-4。
<属性名>要求使用上面的汉字。
最后一次修改日期的属性值要求按照XXXX年XX月XX日的格式输出(需要分析原始数据中哪一部分是年、月、日)。
提示:如果不知道这几个属性对应的英文名是什么,可以先打印出所有信息看一看。
测试数据由评测系统读取并传递给Read函数,期间产生的输出将会与规定的输出进行比较,详细要求请见测试说明。
测试说明
如果输入的是:
step3/ICSE2014.pdf
那么应该得到的是:
(1)标题 : The Strength of Random Search on Automated Program Repair
(2)作者 : Yuhua Qi, Xiaoguang Mao, Yan Lei, Ziying Dai, and Chengsong Wang
(3)关键词 : Automated program repair; random search; genetic programming; search-based software engineering
(4)最后一次修改日期 : 2014年02月23日
上述输出内容为**测试集1**的预期输出。
代码如下:
import PyPDF2
def Read(path):
# 请在此添加实现代码 #
# ********** Begin *********#
pdf = PyPDF2.PdfFileReader(path) # 创建PdfFileReader对象
pdfInfo = pdf.getDocumentInfo() # 读取文档元信息
# 根据要求的属性提取相应的信息:
attributes = ['/Title', '/Author', '/Keywords', '/ModDate'] # 文档信息的属性名称
attributeShow = ['标题', '作者', '关键词', '最后一次修改日期']
attributeValue = [] # 用于存放提取的各属性的值
for attr in attributes:
attributeValue.append(pdfInfo[attr])
# 修改一下最后一次修改日期的值:
attributeValue[3] = attributeValue[3][2:6]+'年' \
+attributeValue[3][6:8]+'月'\
+attributeValue[3][8:10]+'日'
for i in range(len(attributes)):
print('(%d)'%(i+1) + attributeShow[i]+' : '+attributeValue[i])
# ********** End **********#
- 点赞
- 收藏
- 关注作者
评论(0)