介绍

现在交给你一份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. Oracle 高低水位线的学习

    Oracle 高低水位线的学习 背景 最近产品的一些脚本会大量的给一些流程表里面插入数据 因为只是一个流程相关没有时序查询的需求 所以数据量挺大, 但是按照石时间戳删除非常麻烦. 自己执行过多次del ...

  2. [转帖]VMware Converter (P2V迁移)问题汇总

    https://www.dinghui.org/vmware-converter-p2v.html VMware vCenter Converter Standalone,是一种用于将虚拟机和物理机转 ...

  3. [转帖]paramiko简介

    https://www.cnblogs.com/qiujichu/p/12048763.html 一.什么是paramiko 要想明白什么是paramiko,要先明白ssh协议. 二.什么是ssh协议 ...

  4. [转帖]超线程SMT究竟可以快多少?(AMD Ryzen版 )

    https://www.modb.pro/db/139224 昨天我们用Intel I9的10核,每个核2个threads的机器跑了内核的编译: 超线程SMT究竟可以快多少? 今天,我换一台机器,采用 ...

  5. [转帖]iptables开放指定端口

    https://www.jianshu.com/p/5b44dd20484c 由于业务的需要, MySQL,Redis,mongodb等应用的端口需要我们手动操作开启 下面以 MySQL 为例,开启 ...

  6. Docker 安装Oracle12c的镜像修改字符集 并且进行启动的简单过程

    学习来自 昨天晚上转帖的文章 这里面添加一些自己的内容 首先获取配置文件 git clone https://github.com/oracle/docker-images.git 获取之后比较容易了 ...

  7. MYsql备份恢复简单过程

    1. 备份数据库 建完数据库更新完补丁之后进行数据库的备份操作. mysqldump -uroot --databases yourdatabase -p > /home/yourdatabas ...

  8. RabbitMQ原理详解

    RabbitMQ:我们通常谈到消息队列,就会联想到这其中的三者:生产者.消费者和消息队列,生产者将消息发送到消息队列,消费者从消息队列中获取消息进行处理.对于RabbitMQ,它在此基础上做了一层抽象 ...

  9. 开源IM项目OpenIM 客户端SDK架构剖析-确保消息的有序性,以及消息百分百可达

    开源IM项目OpenIM第二版对于客户端架构进行了局部重构,解决了消息触发时序等bug,也梳理了内部模块.目前已经接近尾声,本文重点讲解SDK架构,以便大家深入了解OpenIM,并希望大家能深度参与开 ...

  10. 微信小程序-页面跳转数据传递

    在之前的文章当中我们都实现了一个功能就是可以从上一个页面传递数据给下一个页面,那么我们能不能从下一个页面传递数据给上一个页面呢,答案是可以的. 所以说本文这次主要介绍的内容就是返回上一个页面时传递参数 ...