用Python统计各个省份有招生单位总数 ,统计其中211、985高校有多少 ,原始数据为schools.xls,生成的文件为number_of_schools.xls。
时间: 2023-06-11 07:10:41 浏览: 116
首先,需要安装第三方库`xlrd`和`xlwt`,可以通过以下命令进行安装:
```
pip install xlrd xlwt
```
然后,可以使用以下代码进行统计:
```python
import xlrd
import xlwt
# 打开原始数据文件
data = xlrd.open_workbook('schools.xls')
# 获取表格中的第一个工作簿
sheet = data.sheet_by_index(0)
# 定义一个字典,用于存储各个省份的招生单位总数
provinces = {}
# 定义变量,用于统计211、985高校的数量
count_211 = 0
count_985 = 0
# 遍历表格中的每一行数据
for i in range(sheet.nrows):
# 获取当前行的省份信息和招生单位名称
province = sheet.cell(i, 0).value.strip()
school = sheet.cell(i, 1).value.strip()
# 如果当前省份在字典中不存在,则添加进去,并将招生单位总数初始化为1
if province not in provinces:
provinces[province] = 1
else:
# 否则,将当前省份的招生单位总数加1
provinces[province] += 1
# 判断当前招生单位是否为211、985高校
if '211' in school:
count_211 += 1
if '985' in school:
count_985 += 1
# 创建一个新的Excel文件
workbook = xlwt.Workbook(encoding='utf-8')
# 在新文件中创建一个工作簿
worksheet = workbook.add_sheet('Sheet1')
# 写入表头
worksheet.write(0, 0, '省份')
worksheet.write(0, 1, '招生单位总数')
# 写入数据
row = 1
for province, count in provinces.items():
worksheet.write(row, 0, province)
worksheet.write(row, 1, count)
row += 1
# 写入211、985高校的数量
worksheet.write(row, 0, '211高校数量')
worksheet.write(row, 1, count_211)
row += 1
worksheet.write(row, 0, '985高校数量')
worksheet.write(row, 1, count_985)
# 保存文件
workbook.save('number_of_schools.xls')
```
以上代码中,我们首先读取了原始数据文件`schools.xls`,然后遍历表格中的每一行数据,统计各个省份的招生单位总数,并判断当前招生单位是否为211、985高校,并统计数量。最后,将统计结果写入一个新的Excel文件`number_of_schools.xls`中,并保存。
阅读全文