AD统计,排名前十的国家每年的论文统计量

1.获取每个国家的论文数量,采取的方法是写好sql语句,直接用sql语句统计数量,可能这种方式速度会比较慢,另外一种方法是把id全部传过来,在本地做统计。

import pymysql
import json
import re
import collections
import json

def get_article_from_mysql(sql):
    conn= pymysql.connect(
            host=‘localhost‘,
            port = 3306,
            user=‘root‘,
            passwd=‘‘,
            db =‘python‘,
            )
    cursor = conn.cursor()

    a = cursor.execute(sql)
    b = cursor.fetchmany(a)
    return b[0][0]

def getsqllist():
    country = [‘USA‘, ‘China‘, ‘UK‘, ‘Germany‘, ‘Italy‘, ‘Japan‘, ‘Canada‘, ‘France‘, ‘Spain‘, ‘Australia‘]
    top_country = []
    for i in country:
        top_country.append(‘%‘+i+‘%‘)

    year = []
    for i in range(1995,2017):
        year.append(str(i))
    print year

    str1 = ‘SELECT COUNT(*) FROM alzheimer where authorinfor like  ‘
    str2 = ‘&& union_kwd_str != \‘\‘ && pub_year = ‘

    countrydict = {}

    for i in top_country:
        sqllist = []
        for j in year:
            sql = str1+"‘"+i+"‘"+str2+"‘"+j+"‘"
            sqllist.append(sql)
        countrydict[i] = sqllist
    return countrydict

def change_with_year():
    countrydict = getsqllist()

    fobj = open(‘1203_topcountry_article_change_with_year.json‘,‘w‘)

    countrylist = [‘USA‘, ‘China‘, ‘UK‘, ‘Germany‘, ‘Italy‘, ‘Japan‘, ‘Canada‘, ‘France‘, ‘Spain‘, ‘Australia‘]
    for country in countrylist:
        this_country_sql_list = countrydict[‘%‘+country+‘%‘]

        this_year_article_num = []
        for sql in this_country_sql_list:
            this_year_article_num.append(get_article_from_mysql(sql))
        data = {
            ‘name‘:country,
            ‘type‘:‘line‘,
            ‘stack‘: ‘total‘,
            ‘areaStyle‘: ‘{normal: {}}‘,
            ‘data‘:this_year_article_num
        }
        print country,this_year_article_num
        json_data = json.dumps(data)
        fobj.write(json_data)
        fobj.write(‘,‘)
        fobj.write(‘\n‘)

#change_with_year()

def article_each_year():
    str1 = ‘SELECT COUNT(*) FROM alzheimer where union_kwd_str != \‘\‘ && pub_year =‘

    all_this_year_article_num = []
    for i in range(1996,2017):
        year = str(i)
        sql = str1+"‘"+year+"‘"
        all_this_year_article_num.append(get_article_from_mysql(sql))

    data = {
        ‘article_each_year‘:all_this_year_article_num
    }

    fobj = open(‘1204_article_each_year_num.json‘,‘w‘)
    json_data = json.dumps(data)
    fobj.write(json_data)
    print all_this_year_article_num

article_each_year()

2)获得每个国家每年的论文信息后,求比例。比如1996年美国的比例 = 1996年美国的论文量/1996年全世界的论文量

from __future__ import division
import json

country = [‘USA‘, ‘China‘, ‘UK‘, ‘Germany‘, ‘Italy‘, ‘Japan‘, ‘Canada‘, ‘France‘, ‘Spain‘, ‘Australia‘]

l = [
    [1, 0, 15, 10, 19, 23, 32, 26, 49, 93, 161, 348, 669, 1471, 1669, 1892, 2128, 2762, 3090, 2675, 1458],
    [0, 0, 0, 0, 0, 2, 1, 1, 5, 14, 12, 19, 29, 78, 111, 144, 351, 517, 737, 1062, 899],
    [ 2, 2, 1, 3, 14, 11, 10, 20, 26, 34, 45, 72, 127, 204, 265, 308, 428, 570, 697, 723, 597],
     [ 0, 3, 4, 7, 8, 11, 9, 8, 27, 24, 21, 33, 67, 98, 124, 149, 253, 303, 370, 358, 318],
    [ 0, 1, 5, 5, 3, 7, 3, 10, 12, 27, 22, 28, 44, 67, 94, 106, 187, 285, 330, 322, 280],
    [ 1, 3, 4, 8, 7, 10, 13, 10, 11, 18, 26, 30, 30, 61, 85, 120, 189, 256, 295, 291, 199],
     [ 0, 5, 7, 2, 4, 2, 6, 10, 13, 18, 21, 32, 34, 69, 96, 112, 197, 286, 340, 340, 251],
     [ 0, 4, 2, 6, 7, 5, 9, 10, 13, 12, 17, 17, 29, 44, 65, 63, 126, 155, 189, 209, 184],
    [ 0, 0, 1, 2, 1, 6, 2, 0, 5, 7, 9, 18, 14, 46, 57, 72, 111, 146, 252, 198, 173],
     [ 0, 0, 1, 0, 0, 1, 2, 3, 4, 13, 11, 14, 22, 45, 53, 74, 120, 162, 245, 195, 169]
    ]

print len(l[0])

percent_dict ={}
for i in range(10):
    percent_dict[i] = []

year = [1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016]

ltotal = [19, 54, 63, 84, 106, 127, 134, 171, 293, 504, 695, 1306, 2325, 4566, 5415, 5859, 7537, 9603, 11349, 10850, 7211]
# for i in range(len(l[0])):
#     ltotal_i = 0
#     for j in range(10):
#         ltotal_i += l[j][i]
#     ltotal.append(ltotal_i)
for i in range(len(l[0])):
    for j in range(10):
        percent_dict[j].append(round(l[j][i]/ltotal[i],2)) 

print percent_dict

fobj = open(‘1204_top10country_article.json‘,‘w‘)
for i in range(10):
    data = {
            ‘name‘:country[i],
            ‘type‘:‘line‘,
            ‘stack‘: ‘total‘,
            ‘areaStyle‘: ‘{normal: {}}‘,
            ‘data‘:percent_dict[i]
        }
    json_data = json.dumps(data)
    fobj.write(json_data)
    fobj.write(‘,‘)
    fobj.write(‘\n‘)
时间: 2024-11-12 21:00:12

AD统计,排名前十的国家每年的论文统计量的相关文章

全国高校学科评估:各专业排名前十的高校

全国高校学科评估:各专业排名前十的高校 考试点考研2016-03-07 17:06:08考研资讯 考研辅导 研院信息阅读(33332)评论(2) 声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场.举报 文章来源于考试点 转载请注明出处 2017考研已经逐渐提上日程,择校择专业也成为许多同学关心的头等大事.现下各种各种的高校排名不在少数,各式榜单很容易使人眼花缭乱.下面是教育部公布的各专业排名前十的高校,也是目前较为权威可信的高校专业评估,大家可以以此做

排名前十的开源安全项目

搜寻安全相关的开源软件最好的地方显然是 GitHub.你可以使用该网站上的搜索功能来找到这些有用的工具,但是有一个地方可以让你找到那些安全方面最流行的项目,那就是 GitHub 的展示区,可能知道它的人不多. 从 2014 年开始,GitHub 展示区就会按照分类陈列这些最流行的项目.在展示区中,项目以其所获得的星标数排名,这个列表会不断更新当前最流行的项目.展示区包含的"安全"分类中包含了 24 个项目,这里我们列出了在 GitHub 上排名前十的安全项目. 1. osquery -

2016年度中国会计师事务所排名前十

http://www.wenxuetiandi.com/news/xuexizixun/201708/444478.html 1普华永道 普华永道(Price Waterhouse Coopers)是四大国际会计师事务所之一,主要服务领域包括审计.税务.人力资源.交易.危机管理等.普华永道通过制定解决方案及提供实用性意见,不断为客户及股东提升价值.普华永道致力于提供切合各行业所需要的审计.税务及谘询服务,以提升客户的价值.普华永道在158 个国家和地区超过 180,000 人的专业团队所组成的全

Stack Overflow 上排名前十的与API相关的问题

Stack Overflow是一个庞大的编程知识仓库,在Stack Overflow 上,数百万的提问被回答,并且这些回答都是高质量的.这就是为什么在Google搜索结果的排行榜上,Stack Overflow 总是位居首位. 虽然Stack Overflow上有非常多的提问,但是仍然每天都有大量的问题被提出,其中的很多都等待解答或者没有得到好的解答.因此,问题是如何找到答案的,通过Stack Overflow是不够的. 随着成千上万的开发者使用Java的API并且在Github上分享他们的项目

【翻译】Java Array的排名前十方法(Top 10 Methods for Java Arrays)

这里列举了Java Array 的前十的方法.他们在stackoverflow最大投票的问题. The following are top 10 methods for Java Array. They are the most voted questions from stackoverflow. 0.声明一个数组 0. Declare an array String[] aArray = new String[5]; String[] bArray = {"a", "b&

python统计前十出现最多的词

一.描述 这是一道python面试题: "一个可读文件,有一万行,一行只有一个单词,单词可以重复的,求出这一万行中出现频繁次数最多的前10个单词" 二.思路 先读取文件变为列表,再用集合去重得到一个参照的列表,逆排序取前10(最大即最多的的10个元素),再用参照列表中的每个元素从文件中去统计,把参照列表中的元素作为键,统计到的结果为值,放入字典,打印出来. 三.代码 #!/usr/bin/python #coding:utf-8 all_C = [] with open("w

担保公司前十排名

希财网整理了2015担保公司的前十排名,其中,拔得头筹的长安保证担保公司.2015担保公司前十排名评价标准包括代偿承诺兑现性.风险控制.资金实力.强制公证等.以下是2015担保公司前十排名的详情. 1.长安保证担保公司 长安保证担保公司于1998年7月成立,注册资本金95044.9682万元.长安保证担保公司以工程保证担保.质量保证担保为经营特色.自成立以来,先后承保了总投资近千亿元人民币的国家重点建设工程的保证担保业务. 2.中国投融资担保有限公司 中国投融资担保有限公司于1993年经国务院批

融资担保公司前十排名

希财网小编整理了2015融资担保公司的前十排名,其中,拔得头筹的为中国投资担保有限公司,成立时间逾20年,累计担保总额达到了260亿元.以下是2015融资担保公司前十排名的详情. 1.中国投资担保有限公司 中 国投资担保有限公司于1993年12月4日成立,是国内首家以信用担保为主要业务的全国性专业担保机构.注册资本金目前已经增至35.21 亿元.在全国范围内开展贸易融资及履约.建设工程.财产保全.世行节能项目融资.海事担保等商业性担保业务.累计担保总额已达到260亿元. 2.深圳投资控股有限公司

Oracle 分组统计,抽取每组前十

/**2018年6月14日 潮州ORACEL 统计2017年用电量,按行业分类抽取用电量前十*/select * from (select t.yhbh 用户编号, t.yhmc 用户名称, t.jldbh 计量点编号, (select m.dmbmmc from npmis_xt_dmbm m where m.dmfl = 'YDLXDM' and m.dmbm = t.ydlbdm) 用电类型, (select m.dmbmmc from npmis_xt_dmbm m where m.dm