介绍

现在交给你一份2010年美国各州县人口普查表:censuspopdata.xlsx。共72864条记录。

每一行代表一个县某统计区的人口数。

需要你统计出:各县统计区数量和人口数。

表格内容长这样:

通过本练习你讲学习到:

  1. python如何读取excel内容
  2. 使用字典存储excel统计内容
  3. 利用pprint格式化字典结构

代码

新建:readCensusExcel.py

#! python3
# readCensusExcel.py - Tabulates population and number of census tracts for
# each county. import pprint, openpyxl print('打开工作簿...')
wb = openpyxl.load_workbook('resource/censuspopdata.xlsx')
sheet = wb['Population by Census Tract']
countyData = {} # 填充
for row in range(2, sheet.max_row+1):
state = sheet['B' + str(row)].value
county = sheet['C' + str(row)].value
pop = sheet['D' + str(row)].value # 确保州存在
countyData.setdefault(state, {})
# 确保县在州中存在
countyData[state].setdefault(county, {'tracts': 0, 'pop': 0}) # 每一行代表一个县某统计区的人口数
countyData[state][county]['tracts'] += 1
# 追加县的人口数
countyData[state][county]['pop'] += int(pop) # 将结果写入文件
print('写入结果...')
resultFile = open('census2010.py', 'w')
resultFile.write('allData = ' + pprint.pformat(countyData))
resultFile.close()
print('完成.')

生成的census2010.py 长这样:

读取census2010.py获取指定县的统计区数量和人口数:

新建:read-census2010.py

#! python3
# 读取人口普查统计表
import os
import census2010
census2010.allData['AK']['Anchorage']
anchoragePop = census2010.allData['AK']['Anchorage']['pop']
anchorageTracts = census2010.allData['AK']['Anchorage']['tracts']
print('2010年Anchorage的人口数:' + str(anchoragePop)+',统计区数:'+ str(anchorageTracts))

输出:

2010年Anchorage的人口数:291826,统计区数:55

项目代码和资源地址

https://gitee.com/indexman/python-core

Python之读取Excel的更多相关文章

  1. python下读取excel文件

    项目中要用到这个,所以记录一下. python下读取excel文件方法多种,用的是普通的xlrd插件,因为它各种版本的excel文件都可读. 首先在https://pypi.python.org/py ...

  2. Delphi中使用python脚本读取Excel数据

    Delphi中使用python脚本读取Excel数据2007-10-18 17:28:22标签:Delphi Excel python原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 . ...

  3. python xlrd 读取excel.md

    文章链接:https://mp.weixin.qq.com/s/fojkVO-AB2cCu7FtDtPBjw 之前的文章介绍过关于写入excel表格的方法,近期自己在做一个网站,涉及到读取excel, ...

  4. python(读取excel操作-xlrd模块)

    一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 或者在cmd窗口  pip install  ...

  5. Python实现读取Excel文档中的配置并下载软件包

    问题:现在遇到这样一个问题,服务器存储了很多软件包,这些包输入不同的产品,每个产品都有自己的配置,互相交叉,那么到底某一产品所有配置的软件包下载后,占用多大空间呢? 分析:从这个问题入手,了解到:软件 ...

  6. python(读取 excel 操作 xlrd 模块)

    一.安装 xlrd 模块 到 python 官网下载 http://pypi.python.org/pypi/xlrd 模块安装,前提是已经安装了 python 环境. 或者在 cmd 窗口  pip ...

  7. python xlrd读取excel常用方法

    最近学习了python操作excel,记录下常用方法. 需要安装xlrd模块, 打开cmd,输入命令:pip install xlrd  进行安装,若已安装显示如下: xlrd读取excel常用方法如 ...

  8. python脚本 读取excel格式文件 并进行处理的方法

    一.安装xlrd模块 pip install xlrd 二.读取excel文件 try: excel_obj = xlrd.open_workbook("文件路径") except ...

  9. python实现读取excel

    实现代码如下: #读取excel,将每行数据放入一个列表,将所有列表放入一个列表形成二维列表,返回该二维列表 import xlrd class ReadExcel: def read_excel(s ...

  10. python DDT读取excel测试数据

    转自:http://www.cnblogs.com/nuonuozhou/p/8645129.html ddt   结合单元测试一起用 ddt(data.driven.test):数据驱动测试 由外部 ...

随机推荐

  1. CentOS7挂载webdav添加开机启动

    CentOS7挂载webdav添加开机启动 一.安装davfs2 yum install davfs2 二.挂载 1.新建挂载位置 mkdir -p /guazai chmod +x /guazai ...

  2. Jmeter学习之三_知识梳理

    Jmeter学习之三_知识梳理 背景 简单学习了Jmeter的两个用例 感觉可以继续深入学习一下Jmeter了. 所以想着趁体检入职之前继续学习完善一下. 希望能够继续提高 Jmeter的相关知识 1 ...

  3. 【转帖】ESXi 6.x 安装storcli监控raid卡状态

    https://b2b.baidu.com/land?id=744541c6188f7937d6dc97d6fb9142ff10 脚本宝典收集整理的这篇文章主要介绍了ESXi 6.x 安装storcl ...

  4. 【转帖】Linux性能优化(十三)——CPU性能测试

    一.CPU上下文切换测试场景 使用sysbench模拟多线程调度: sysbench --threads=10 --time=300 threads run 使用vmstat查看CPU上下文切换: c ...

  5. Find 查找并且展示最近24小时内创建的文件信息

    1. 命令为: find /gscloud/tools/patchinstall/patchfiles/ -maxdepth 1 -mtime 1 |cut -c40- >/deploy/pat ...

  6. Loki动态展示linux本地日志

    Loki动态展示linux本地日志 背景 产品需要拆分微服务部署,直接使用K8S部署虽然比较规范但是部署时间较长. 本地文件系统部署简洁快速一些, 但是不太好直接复用一些规范的产品. 本次处理方法就是 ...

  7. 我在京东做研发 | 京东云算法科学家解析爆火的ChatGPT

    令人惊艳的ChatGPT横空出世 背后有怎样的前沿技术支撑 走向大规模产品应用又有何局限 深耕对话式AI技术十余年 京东云算法科学家将带您一同走进技术世界 解析ChatGPT的技术亮点与局限 分享下一 ...

  8. js设置setAttribute、获取getAttribute、删除removeAttribute详细讲解

    setAttribute的理解 所有主流浏览器均支持 setAttribute() 方法. element.setAttribute(keys,cont) keys==>必需(String类型) ...

  9. 【小测试】rust中的数组越界——好吧,这下证明rust不是零成本抽象了吧

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 1.编译期发现的数组越界 在数组下标是常量的情况下,编译期 ...

  10. 开源项目03---YiShaAdmin

    项目名称:YiShaAdmin 项目所用技术栈: web mvc bootstrap3 jquery aspnetcore等 项目简介: YiShaAdmin 基于.NET Core Web开发,借鉴 ...