1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
import sqlite3
JCR_DB = "jcr.db"
class JCRQuerier():
def __init__(self, jcr_db: str) -> None:
self.con = sqlite3.connect(jcr_db)
self.con.execute('PRAGMA foreign_keys = ON')
def get_journal_jcr_rank(self, journal_name: str):
cursor = self.con.cursor()
query = """
SELECT jcr.Journal, jcr.ISSN, jcr."IF(2022)" AS Ifactor, jcr.IFQuartile
FROM JCR2022 jcr
WHERE jcr.Journal = ? COLLATE NOCASE
"""
cursor.execute(query, (journal_name,))
res = cursor.fetchall()
cursor.close()
return res
def get_journal_cas_rank(self, journal_name: str):
cursor = self.con.cursor()
query = """
SELECT cas.Journal, cas.大类分区 AS CASBig, cas.小类1分区 CASSmall1
FROM FQBJCR2023 cas
WHERE cas.Journal = ? COLLATE NOCASE
"""
cursor.execute(query, (journal_name,))
res = cursor.fetchall()
cursor.close()
return res
def get_journal_rank_union(self, journal_name: str):
cursor = self.con.cursor()
query = """
SELECT jcr.Journal, jcr.ISSN, jcr."IF(2022)" AS Ifactor, jcr.IFQuartile, cas.大类分区 AS CASBig, cas.小类1分区 CASSmall1
FROM JCR2022 jcr, FQBJCR2023 cas
WHERE jcr.Journal = cas.Journal
AND jcr.Journal = ? COLLATE NOCASE
"""
cursor.execute(query, (journal_name,))
res = cursor.fetchall()
cursor.close()
return res
querier = JCRQuerier(JCR_DB)
journal_name = "nature"
rank = querier.get_journal_jcr_rank(journal_name)
print(rank)
|