背景:
某人寫了一篇論文,需要將參考文獻信息內容查詢出來,第一步,就是利用人名及年份查詢所引用的文獻或者文章及文章的doi,如果沒用,也可也複製文章在百度裏面查找,
第二步,拿到doi號在網址裏面查詢
如此往復,如果文章引用超過100jiao多,如此重重,無聊,而且易出錯,
接下來,我們利用python 編寫腳步,自動查詢,然後把值保存在txt裏面
步驟:
第一步:doi號是和人名,年份等引用信息混合在一起的,需要先將值提取出來,利用excel
因爲有些是http:doi/org/ 有些直接是doi,在excle中直接查找替換,*org 替換 *doi 再替換 *doi/
拿到doi號,
第二部,需要將其按格式保存再excle中,文本格式,不然數字易變成浮點數
第三部,利用python 讀取excel
# coding:utf-8
import xlrd
class ExcelUtil():
def __init__(self, excelPath, sheetName):
self.data = xlrd.open_workbook(excelPath)
self.table = self.data.sheet_by_name(sheetName)
# 獲取第一行作爲key值
self.keys = self.table.row_values(0)
# 獲取總行數
self.rowNum = self.table.nrows
# 獲取總列數
self.colNum = self.table.ncols
def dict_data(self):
if self.rowNum <= 1:
print("總行數小於1")
else:
r = []
j=1
for i in range(self.rowNum-1):
s = {}
# 從第二行取對應values值
values = self.table.row_values(j)
for x in range(self.colNum):
s[self.keys[x]] = values[x]
r.append(s)
j+=1
return r
if __name__ == "__main__":
filepath = "D:\\test\\web-project\\5ke\\testdata.xlsx"
sheetName = "Sheet1"
data = ExcelUtil(filepath, sheetName)
print(data.dict_data())
第四步:
剛開始利用接口試試,但是返回值不正確,改變思路,利用網頁直接取
第五步:查看生成的txt文檔
大功告成
需注意點:剛開始寫入txt時,報gbk不能寫入,最後後面加了ecoding=utf-8
因爲每次都取doi號,所以想到需要用ddt模式驅動