【Python】Excel数据处理
1、环境准备
> python2.7
> xlrd,xlwt模块下载与安装,前者用来读取excel文件,后者用来写入excel文件
2、实战案例
案例场景:
> excel1中包含某个市所有客户名称(可能有重复的)
> excel2中包含某个省所有客户名称(无重复)、起始IP地址和终止IP地址
案例目的:
根据excel1中客户名称到excel2中取出对应IP地址范围,要求最终汇总到一个新的excel文件中,包含客户名称和IP地址范围,
IP地址范围格式要求:如起始和终止IP相等,则以/32结尾,否则以短线连接两个地址
案例脚本:
#coding:utf-8 import sys
import xlrd
import xlwt
import csv #存储客户名称
list=[] def readexcel():
file=sys.argv[1]
print file
workbook=xlrd.open_workbook(file)
sheet1=workbook.sheet_by_index(0)
col=0
while col<sheet1.ncols:
if '客户名称' in sheet1.cell(0,col).value.encode('utf-8'):
row=1
while row<sheet1.nrows:
tmp=sheet1.cell(row,col).value.encode('gbk')
#去掉重复行
if tmp not in list:
list.append(tmp)
row+=1
col+=1
write_excel(list) #匹配结果输出客户名称、处理后的地址
def write_excel(u_list):
file=sys.argv[2]
filename=sys.argv[1].replace('.xlsx','')+'_new.csv'
workbook=xlrd.open_workbook(file)
sheet1=workbook.sheet_by_index(0)
col=0
while col<sheet1.ncols:
if '用户名称' == sheet1.cell(0,col).value.encode('utf-8'):
row=1
while row<sheet1.nrows:
uname=sheet1.cell(row,col).value.encode('gbk')
for u in u_list:
if u == uname:
print uname+'\t'+sheet1.cell(row,0).value.encode('gbk')
with open(filename,'ab') as fw:
csv_file=csv.writer(fw,dialect='excel')
new_row=[uname,sheet1.cell(row,0).value.encode('gbk')]
csv_file.writerow(new_row)
row+=1
col+=1
if __name__=='__main__':
readexcel()
案例截图:


【Python】Excel数据处理的更多相关文章
- Python之数据处理
一.CSV数据处理 CSV文件格式:逗号分隔值(Comma-Separated Value,CSV,有时也称为字符分隔值,因为分隔符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本).纯文 ...
- Python+Excel 操作对比
前言 从网页爬下来的大量数据需要excel清洗成堆的科学实验数据需要导入excel进行分析作为一名面向逼格的Python程序员该如何合理而又优雅的选择生产力工具呢? 得益于辛勤劳作的python大神们 ...
- Python excel 库:Openpyxl xlrd 对比 介绍
打算用python做一个写mtk camera driver的自动化工具. 模板选用标准库里面string -> Template 即可 但要重定义替换字符,稍后说明 配置文件纠结几天:cfg, ...
- python excel操作总结
1.openpyxl包的导入 Dos命令行输入 pip install openpyxl==2.3.3 这里注意一下openpyxl包的版本问题 版本装的太高有很多api不支持了,所以笔者这里用的是2 ...
- python地理数据处理库geopy
http://blog.csdn.net/pipisorry/article/details/52205266 python地理位置处理 python地理编码地址以及用来处理经纬度的库 GeoDjan ...
- Python Excel 多sheet 多条数据 自定义写入
pip install xlwt python excel 数据写入操作,处理网站数据导出以及不是太多数据的爬虫存储, 用处蛮多的轮子. (150+++++++++++++++++++++++++++ ...
- Python空间数据处理环境搭
Python空间数据处理环境搭 Conda的下载和安装 什么是Conda? 官方定义:Package, dependency and environment management for any la ...
- xlrd python excel
xlrd python excel
- [Python]Excel编程示例教程(openpyxl)
1 前言(Preface) 博文背景:论文实验中有一大堆数据集需要观测其数据特征,通过人体肉眼,难以直观感受,故而准备通过生成Excel,可视化其评测数据. We know: Excel便于可视化分析 ...
- Python生成文本格式的excel\xlwt生成文本格式的excel\Python设置excel单元格格式为文本\Python excel xlwt 文本格式
Python生成文本格式的excel\xlwt生成文本格式的excel\Python设置excel单元格格式为文本\Python excel xlwt 文本格式 解决: xlwt 中设置单元格样式主要 ...
随机推荐
- 回顾2017系列篇(五):人工智能给UI/UX设计带来的影响
如今,我们正处于设计新纪年的转折点上,用机器人和人工智能方面的专家说法表达即“The end is near(终点近了)”.但这并不意味着世界末日,但未来机器人将毫无疑问地接管一部分目前被人类占领的工 ...
- rocketmq配置项说明(对应版本:4.0.0-incubating)
Broker配置参数说明 自定义客户端行为 ※一些默认配置的源代码路径 org.apache.rocketmq.store.config --END--
- css常用技巧:input提示文字;placeholder字体修改
1 很多网站都需要更改 <input>内部的placeholder 文字颜色属性:下面来介绍下这个技巧. 2 源代码: <!DOCTYPE html><html> ...
- 编写高质量代码改善C#程序的157个建议——建议108:将类型标识为sealed
建议108:将类型标识为sealed sealed能够阻止类型被其他类型继承.代码如下: sealed class SampleClass { } class OtherClass : SampleC ...
- 【小梅哥SOPC学习笔记】sof与NIOS II的elf固件合并jic得到文件
sof与NIOS II的elf固件合并jic得到文件 注意,本方法已经有更加简便的方法,小梅哥提供相应的脚本文件,可以一键生成所需文件,脚本请前往芯航线FPGA技术支持群获取. 7.1 为什么需要将S ...
- 关于搜索elasticsearch的数据条数大于10000的坑 max_result_window的两种设置方式
当用elasticsearch进行深度分页查询时的size-from大于10000的时候,就会报错“”, 官方推荐是scroll查询返回结果是无序的不满足业务需求,所以还是通过设置最大返回结果数来达到 ...
- jsp乱码的问题
大家在JSP的开发过程中,经常出现中文乱码的问题,可能一至困扰着大家,现把JSP开发中遇到的中文乱码的问题及解决办法写出来供大家参考.首先了解一下Java中文问题的由来: Java的内核和class文 ...
- .net 程序集的加载与反射
一. 程序集的加载: 在CLR内部使用System.Reflection.Assembly类的静态LoadFrom方法尝试加载程序集. LoadFrom方法在内部调用Assembly的Load方法,将 ...
- 强大的CSS 属性选择符 配合 stylish 屏蔽新浪微博信息流广告
新建一条微博域名下的规则: @-moz-document domain("weibo.com") { #v6_pl_rightmod_rank,#v6_pl_rightmod_ad ...
- 跨DLL操作fopen的返回值导致出错
在设置成/MD或/MDd不会导致出错 设置成/MT或/MTd的情况下会导致出错 看了CRT的实现,估计是因为fopen创建了CriticalSection来保护文件,但是在/MT的情况下,一个DLL里 ...