码无止境(1)——一个科研项目立项时的小程序(字典嵌套列表)

前言:

大家好,我是财务管理专业的一名大二学生,业余喜欢敲敲代码,目前在钻研python。设立这么一个栏目呢,希望自己能记录下代码的点点滴滴,因为我相信每一段代码都是有感情的,或为之欣喜,或为之烦恼。如果有和我一样是编程新手的童鞋,欢迎一起交流进步。


主体:

由于我和我的组员目前在一个比赛立项,需要一些初步成果出来,因此设想的是在未来的数据上做些"手脚"。具体的,需要我对拿到的数据进行初步筛选。详细解释见代码

import openpyxl	#使用到了openxyl库

wb = openpyxl.load_workbook('西部初次筛选企业.xlsx')	#加载工作簿
sheet = wb['Sheet1']	#加载工作表

# 找到企业数据条数大于等于5的企业
l = []
d = {
     }
for i in range(3, sheet.max_row+1):
    l.append(sheet['B'+str(i)].value)
for i in l:
    d[i] = d.get(i, 0)+1	#字典的get方法

dict_qiye = {
     }
for i in d.items():
    if int(i[1]) >= 5:
        dict_qiye[i[0]] = i[1]


# 储存第一大股东持股比率
dict_guli = {
     }
for i in dict_qiye.items():
    for j in range(3, sheet.max_row+1):
        if sheet.cell(row=j, column=2).value == i[0]:
            dict_guli.setdefault(i[0], []).append(
                sheet.cell(row=j, column=6).value)	#字典的setdefault方法可以让字典嵌套列表


# 得出最终数据
list_qiye = []
for i in dict_guli.items():
    if i[1][-1] <= i[1][-2] and i[1][-2] <= i[1][-3] and i[1][-3] <= i[1][-4]:
        list_qiye.append(i[0])
print(list_qiye)

# 写进excel表
with open('西企业.txt', 'w', encoding='utf-8') as f:
    for i in list_qiye:
        f.write(i+'\n')

这个代码处理的是下面这个excel表格码无止境(1)——一个科研项目立项时的小程序(字典嵌套列表)_第1张图片
最终得到了我们需要的结果,并储存在了文本中,下图展示了结果的部分jieguo

至此任务已经完成,回顾来看,对这个代码最大的收获是在于掌握了字典嵌套列表的方法。最后,希望大家不吝惜自己的点赞,分享哦,一起加油(ง •_•)ง。

你可能感兴趣的:(python,excel,poi,列表,字典)