IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python 之 处理 Excel 数据(3) —— 统计数据 -> 正文阅读

[Python知识库]Python 之 处理 Excel 数据(3) —— 统计数据

一、Excel数据准备

? ? ? ? 创建一个文件名为“example2.xlsx”的excel文档,并造一些数据放进Sheet1中,用于测试。

?二、程序代码

1.example2.py - 统计人口数据(example2.xlsx)

# 人口统计 把相同的地区人数累加

import openpyxl, pprint

# 数据结构用字典类型存数据(AL-state州;Autauga-county县;tract-地区的和;pop-人数的和)
# 字典里面套字典,州的字典里有’AL','AK'...;键值是一个county字典
# 'AL‘里面有county字典:’Autauga‘,'Bibb','Barbour',其中键值是tract和pop
'''
{'AL': {'Autauga':{'tract':5,'pop':1912}
        'Bibb':{'tract':3,'pop':432}
        'Barbour':{'tract':2,'pop':1912}
       }
 ‘AK':{
      }
}
countryData['AL']['Autauga']['tract']
'''

# 打开excel,并读取数据
print('opening workbook')
wb = openpyxl.load_workbook('example2.xlsx')
sheet = wb.active

countryData = {}

# fill in countryData with each city's pop and tract's pop
for row in range(2, sheet.max_row, 1):

    # 获取每行的state county pop数据
    state = sheet['B' + str(row)].value
    county = sheet['C' + str(row)].value
    pop = sheet['D' + str(row)].value

    # 确保state的键值存在(字典的setdefault函数-> 如果没有state这个值,就会加一个空的进去;如果已经存在,则会忽略)
    # 所以当州同样是'AL'时,只会执行一次(第一次);直到读取到'AK’时,会再执行一次;
    countryData.setdefault(state, {})
    # 确保state里的county键值存在(与上面同理,当county同样为'Autauga'/'Bibb'时,只会执行一次)
    countryData[state].setdefault(county, {'tract': 0, 'pop': 0})

    # 把当前州-县的 tract累加1,pop人口相加
    countryData[state][county]['tract'] += 1
    countryData[state][county]['pop'] += int(pop)

# 把统计的数据写到 text文本,(.py文件可以再重复利用)
print('Writing results...')
resultFile = open('textResult1.py', 'w')
resultFile.write('allData = ' + pprint.pformat(countryData))  # 把字典变量转换成字符串写进文件里

2.example2-1.py - 再次利用上述的统计结果(textResult1.py)

# 引用example2.py的统计结果存放的文件;
import textResult1

print(textResult1.allData['AK']['Hidd']['pop'])

三、结果

1.example2.py的运行结果

生成一个textResult1.py文件

2.?example2-1.py的运行结果

?

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-12-16 17:37:39  更:2021-12-16 17:38:14 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 5:24:58-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码