Excel文件处理实战

我是在pycharm中实现的,用其他也行,首先你要用Anaconda命令导入这个库:

conda install openpyxl

这个库是支持Excel 2010以后 xlsx/xlsm/xltm/xltx 文件的Python库

实战问题描述:

处理1.xlsx文件里有一张表,名为test。
表的数据如下:

在这里插入图片描述
简单描述一下,假设可以看成一个人口普查表,每一行为一个普查地区的相关信息,第一列为普查地代号,第二列为洲代号,第三列为县代号,第四列为该县人数,现在让你统计每个县的普查总人数和普查次数

接着上代码

import openpyxl, pprint                   # pprint是为了输出结果方便看

print('Opening workbook...')
wb = openpyxl.load_workbook(r'D:\python项目\1.xlsx')
sheet = wb.get_sheet_by_name('test')      # 获取人口统计Sheet工作表
countyData = {} # 定义统计结果保存字典
print('Reading rows...')
for row in range(2, sheet.max_row + 1):   # 从 ExceL文件第二行开始读取数据,至最后一行。前闭后开, 不包括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      # 该县的人口普查次数+1
    countyData[state][county]['pop'] += int(pop)  # 该县所有普查次区人口数量相加
print('Writing results...')
resultFile = open(r'D:\python项目\result.txt', 'w') #最后结果保存在result.txt里
resultFile.write(' allData = ' + pprint.pformat(countyData))
# pprint生成一个字符串,格式化好的、有效的python 代码
resultFile.close()
print('Done.')

运行后打开result.txt
得到结果:

在这里插入图片描述
简单说明一下,这是一个字典,‘ADASFFA’可以看成一个洲,它包含三个县’ASDA’ ‘HGJL’ '‘JGHJFJ’,它们又分别包含该县普查区人口总数和该县普查区个数

总结一下,想要学好,还得多了解openpyxl库里面的一些方法才行!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值