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文件.具体 ...
随机推荐
- TPM--Trusted Platform Module
trouSerS是IBM的一帮牛人搞的TSS软件栈,提供了与TPM交互的API,从而可以让我们方便地编写应用程序. 地址:https://sourceforge.net/projects/trouse ...
- hdu6035 Colorful Tree 树形dp 给定一棵树,每个节点有一个颜色值。定义每条路径的值为经过的节点的不同颜色数。求所有路径的值和。
/** 题目:hdu6035 Colorful Tree 链接:http://acm.hdu.edu.cn/showproblem.php?pid=6035 题意:给定一棵树,每个节点有一个颜色值.定 ...
- YARN源码分析(一)-----ApplicationMaster
转自:http://blog.csdn.net/androidlushangderen/article/details/48128955 YARN学习系列:http://blog.csdn.net/A ...
- mfc小工具开发之定时闹钟之---多线程急线程同步
一.MFC对多线程编程的支持 MFC中有两类线程,分别称之为工作者线程和用户界面线程.二者的主要区别在于工作者线程没有消息循环,而用户界面线程有自己的消息队列和消息循环. 工作者线程没有消息机制,通常 ...
- GL 纹理 格式 资料备份
分别转载至:http://www.tuicool.com/articles/qAbYfq 和 http://www.verydemo.com/demo_c161_i114362.html 在手机 ...
- linux 项目自动部署脚本
1.使用maven获取源码部署,并可替换配置文件(金融数据分析平台) #!/bin/bash#设置变量cd /home#停止tomcatecho "开始停止tomcat..." p ...
- [Algorithms] Topological Sort
Topological sort is an important application of DFS in directed acyclic graphs (DAG). For each edge ...
- EXCEL自动导出HTML
话说博主我以前总是为资料共享的问题发愁,刚才鼓捣了一下EXCEL.发现有个功能还是不错的'发布' 以OFFICE2013为标准吧. 点击文件--导出-- 更改文件类型---另存为--(网页)htm 点 ...
- 160809、tomcat中配置多个域名及将tomcat配置成系统服务
本地测试用的(注意红色部分) 第一步.自己的windows电脑,在c盘中有个hosts文件(搜索一下),做以下修改(其中127.0.0.1是本机地址,192.1638.10.139是我虚拟机中linu ...
- 本地代码推送到github仓库
git 初始化 cd 到需要提交的项目目录下,执行git init 配置用户名和邮箱 git config --global user.name "codingID" git co ...