python 的两个模块xlwt,xlrd,写入和读取Excel数据
http://www.cnblogs.com/fireme/p/3887284.html
这上面写的很全,不过我只需要简单的读和写的操作就ok了,下面是我写的读和写入Excel操作
读取Excel数据
#coding:utf-8
import xlrd
goods = xlrd.open_workbook('goods_test.xlsx')#打开文件
sh = goods.sheet_by_index(3)#返回第几页的对象
#这个对象包含有我们需要的Excel信息
for rx in range(sh.nrows):
print sh.row(rx) #返回每一行的数据
for cl in range(sh.ncols):
print sh.col(cl) #返回每一列的数据
print sh.col(2)
print sh.col_values(2)
print 'Goods name:',goods.sheet_names()
print sh.cell(2.2).ctypeprint sh.name,sh.nrows,sh.ncols#返回对象页的名称,行数和列数
print "Cell D30 is",sh.cell_value(rowx=20,colx=3)#返回特定数值
print 'The number of goodssheets is:', goods.nsheets#返回有几页
写几次就清楚了,sh.col()和sh.col_values()等等不同
向Excel写入数据
定义字体的样式还真是麻烦,所以我就只进行简单的写入操作,有兴趣的自己研究吧
#coding:utf-8
import xlwt
wb = xlwt.Workbook(encoding='utf-8')#创建工作簿,设置字符编码
ws = wb.add_sheet('A TEST Sheet')#创建sheet
ws.write(2, 1, 1)#写入数据,2,1,1分别为,行row,列col,数据
wb.save('example3.xls')#保存数据,创建example3.xls
#from datetime import datetime
#style0 = xlwt.easyxf('font: name Times New Roman,color-index red, bold on',num_format_str='#,##0.00')
#style1 = xlwt.easyxf(num_format_str='D-MMM-YY')
# style = xlwt.XFStyle() #初始化样式
# font = xlwt.Font() #为样式创建字体
实例
#coding:utf-8
import xlrd
import xlwt
import os
path_list = []
goods_list = []
#picture1-picture7里面含有大量的excel文件,但是还含有其它文件,我需要把这些excel文件里面的
#内容整合到一个excel文件里面并把这些处理过的excel文件都删除
#先打开picture1-picture7文件夹,循环遍历每个文件,将后缀名为.xlsx文件路径添加到path_list里面
for i in range(1,8):
startdir = 'picture'+str(i)#这里路径不完整,不过我是将程序写在操作目录下所以没关系
for dirpath,dirnames,filenames in os.walk(startdir):#dirpath为父目录,dirnames为所有文件夹的名字,filenames为所有文件的名字
for file in filenames:
if os.path.splitext(file)[1] == '.xlsx':#还有菏泽杨file.split(".")[1]=='.xlsx'也可以
filepath = os.path.join(dirpath,file)#将文件名与父目录连接起来,形成一个路径,就可以访问了
path_list.append(filepath)
#打开文件,
for path in path_list:
goods = xlrd.open_workbook(path)#打开文件
sh = goods.sheet_by_index(3)#返回第几页的对象
for rx in range(sh.nrows):
if rx:
goods_list.append(sh.row_values(rx))#将打开的excel文件的第三页对象的每一行的数据添加到goods_list当中保存
wb = xlwt.Workbook()#创建工作簿,设置字符编码
ws = wb.add_sheet('Sheet1')#创建sheet
r = 0
for goods in goods_list:
for i in range(len(goods)):
#我的2,3,4列的数字是厘米需要改成毫米
if i in (1,2,3):
ws.write(r,i,goods[i]*10) #可以直接写入行信息
else:
ws.write(r,i,goods[i])
r += 1
wb.save('finish.xls')#保存文件,这个是在这个程序所在所在目录,也可以写详细路径
#删除操作过的文件
for path in path_list:
os.remove(path)
python对中文支持不好,所以经常出现一些错误,注意编码的问题
#goods = xlrd.open_workbook('picture2/picture2/HG商品-051.xlsx'),直接这么写会出错
# inpath = 'picture2/HG商品-051.xlsx'
# uipath = unicode(inpath , "utf8")
# goods = xlrd.open_workbook(uipath)
python 的两个模块xlwt,xlrd,写入和读取Excel数据的更多相关文章
- Python 写入和读取Excel数据
写数据到csv文件里 一. 在本地盘符里新建一个Excel文档,然后另存为csv文件 二.打开PyCharm,新建一个Python File ,写入以下代码 import randomimport ...
- Python用xlrd读取Excel数据到list中再用xlwt把数据写入到新的Excel中
一.先用xlrd读取Excel数据到list列表中(存入列表中的数据如下图所示) import xlrd as xd #导入需要的包 import xlwt data =xd.open_workboo ...
- python使用xlrd读取excel数据时,整数变小数的解决办法
python使用xlrd读取excel数据时,整数变小数: 解决方法: 1.有个比较简单的就是在数字和日期的单元格内容前加上一个英文的逗号即可.如果数据比较多,也可以批量加英文逗号的前缀(网上都有方法 ...
- 【python-excel】Selenium+python自动化之读取Excel数据(xlrd)
Selenium2+python自动化之读取Excel数据(xlrd) 转载地址:http://www.cnblogs.com/lingzeng86/p/6793398.html ·········· ...
- Python 读取Excel数据 xlrd
#导入相关模块 from xlrd import open_workbook #打开excel file = open_workbook("test.xlsx") #获取sheet ...
- python接口自动化(三十七)-封装与调用--读取excel 数据(详解)
简介 在进行软件接口测试或设计自动化测试框架时,一个不比可避免的过程就是: 参数化,在利用python进行自动化测试开发时,通常会使用excel来做数据管理,利用xlrd.xlwt开源包来读写exce ...
- Python读取Excel数据并根据列名取值
一直想将自己接触到的东西梳理一遍,可就是迈不出第一步,希望从这篇总结开始不要再做行动的矮人了. 最近测试过程中需要用到python读取excel用例数据,于是去了解和学习了下xlrd库,这里只记录使用 ...
- Delphi中使用python脚本读取Excel数据
Delphi中使用python脚本读取Excel数据2007-10-18 17:28:22标签:Delphi Excel python原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 . ...
- python 读取excel数据并将测试结果填入Excel
python 读取excel数据并将测试结果填入Excel 读取一个Excel中的一条数据用例,请求接口,然后返回结果并反填到excel中.过程中会生成请求回来的文本,当然还会生成一个xml文件.具体 ...
随机推荐
- C语言函数sscanf()的用法(转)
转自:http://www.cnblogs.com/lyq105/archive/2009/11/28/1612677.html C语言函数sscanf()的用法 sscanf() - 从一个字符串中 ...
- FastDFS 常见问题
FastDFS 常见问题 Q:/fdfs_trackerd: error while loading shared libraries: libevent-1.4.so.2: cannot open ...
- Master Sudoku:Get The Skill
自己做的小游戏 google play store: https://play.google.com/store/apps/details?id=com.ffipp.sodoku app store: ...
- GCD 莫比乌斯反演 给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的 数对(x,y)有多少对.
/** 题目:GCD 链接:https://vjudge.net/contest/178455#problem/E 题意:给定整数N,求1<=x,y<=N且Gcd(x,y)为素数的 数对( ...
- 11 jsp脚本调用java代码
大多数情况下, jsp 文档的大部分由静态文本(html)构成, 为处理该页面而创建的 servlet 只是将它们原封不动的传递给客户端, 原封不动的传送给客户端有两个小例外: 1. 如果想传送 &l ...
- JobTracker作业调度分析
转自:http://blog.csdn.net/Androidlushangderen/article/details/41408517 JobTracker的作业调度给我感觉就是比较宏观意义上的操作 ...
- MFC自绘框架窗口客户区
利用MFC开发用户界面往往需要需要根据要求进行界面美化,界面的美化包括很多内容,比如说界面各功能模块空间布局,控件位置选择,各功能模块区域的字体.背景颜色选择.添加位图,标题栏.菜单栏.状态栏等的重绘 ...
- datagrid使用要点
table自适应: (fit:true(设置table)) 列自动撑开:fitColumns: true,注意给列的width属性赋值
- python入门(二):数据类型和结构
Python3 中有六个标准的数据类型:tips:用type()函数或者是isinstance(x,int)来判断数据类型,然后for i in 来遍历集合1.Number(数字支持 int.floa ...
- java-web 过滤器 & 监听器 & 拦截器
Tomcat 的容器分为四个等级.真正管理 Servlet 的容器是 Context 容器,一个 Context 对应一个 Web 工程.在 Tomcat 的配置文件里能够非常easy发现这一点.例如 ...