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数据处理的更多相关文章

  1. Python之数据处理

    一.CSV数据处理 CSV文件格式:逗号分隔值(Comma-Separated Value,CSV,有时也称为字符分隔值,因为分隔符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本).纯文 ...

  2. Python+Excel 操作对比

    前言 从网页爬下来的大量数据需要excel清洗成堆的科学实验数据需要导入excel进行分析作为一名面向逼格的Python程序员该如何合理而又优雅的选择生产力工具呢? 得益于辛勤劳作的python大神们 ...

  3. Python excel 库:Openpyxl xlrd 对比 介绍

    打算用python做一个写mtk camera driver的自动化工具. 模板选用标准库里面string -> Template 即可 但要重定义替换字符,稍后说明 配置文件纠结几天:cfg, ...

  4. python excel操作总结

    1.openpyxl包的导入 Dos命令行输入 pip install openpyxl==2.3.3 这里注意一下openpyxl包的版本问题 版本装的太高有很多api不支持了,所以笔者这里用的是2 ...

  5. python地理数据处理库geopy

    http://blog.csdn.net/pipisorry/article/details/52205266 python地理位置处理 python地理编码地址以及用来处理经纬度的库 GeoDjan ...

  6. Python Excel 多sheet 多条数据 自定义写入

    pip install xlwt python excel 数据写入操作,处理网站数据导出以及不是太多数据的爬虫存储, 用处蛮多的轮子. (150+++++++++++++++++++++++++++ ...

  7. Python空间数据处理环境搭

    Python空间数据处理环境搭 Conda的下载和安装 什么是Conda? 官方定义:Package, dependency and environment management for any la ...

  8. xlrd python excel

     xlrd python excel

  9. [Python]Excel编程示例教程(openpyxl)

    1 前言(Preface) 博文背景:论文实验中有一大堆数据集需要观测其数据特征,通过人体肉眼,难以直观感受,故而准备通过生成Excel,可视化其评测数据. We know: Excel便于可视化分析 ...

  10. Python生成文本格式的excel\xlwt生成文本格式的excel\Python设置excel单元格格式为文本\Python excel xlwt 文本格式

    Python生成文本格式的excel\xlwt生成文本格式的excel\Python设置excel单元格格式为文本\Python excel xlwt 文本格式 解决: xlwt 中设置单元格样式主要 ...

随机推荐

  1. myeclipse的user library使用方法

    让myeclipse形成一个整齐划一的jar集合 这里就使用到了编辑器的user Library功能 首先,打开编辑器然后如图操作window--->preference--> 点开后如图 ...

  2. JS各种情况处理

    1.获取URL及其参数 实例:URL:file:///C:/Program%20Files/nodejs/test/jumbTarget.html?a=1&&b=2&& ...

  3. Karma和Jasmine 自动化单元测试环境搭建

    最近初学AngularJS ,看到的一些教程中经常有人推荐使用Karma+Jasmine来进行单元测试.自己之前也对Jasmine有些了解,jasmine也是一个不错的测试框架. 1. karma介绍 ...

  4. python读写操作csv及excle文件

    1.python读写csv文件 import csv #读取csv文件内容方法1 csv_file = csv.reader(open('testdata.csv','r')) next(csv_fi ...

  5. CodeForces 146E Lucky Subsequence(组合数+DP)

    题目描述 Petya loves lucky numbers very much. Everybody knows that lucky numbers are positive integers w ...

  6. 哇,两门学考都是A(〃'▽'〃)

    看来只要拼命去搞,两个月也是可以搞出来的啊~

  7. Maven整理笔记のMaven使用

    POM 就像Make的Makefile,Ant的build.xml一样,Maven项目的核心是pom.xml.POM(Project Object Model项目对象模型),定义了项目的基本信息,用于 ...

  8. tcxgrid控件中drag a column header here to group by that column移除方法

  9. delphi弹出选择对话框选择目录|SelectDirectory 函数(转)

    SelectDirectory 函数 通过显示一个对话框来让用户选择一个目录.注意:在使用前要在Uses 语句中添加包含FileCtrl 的说明.函数原型如下:function SelectDirec ...

  10. java 异步调用与多线程

    异步与多线程的区别 一.异步和多线程有什么区别?其实,异步是目的,而多 线程是实现这个目的的方法.异步是说,A发起一个操作后(一般都是比较耗时的操作,如果不耗时的操作 就没有必要异步了),可以继续自顾 ...