Python中一般使用xlrd(excel
read)来读取Excel文件,使用xlwt(excel
write)来生成Excel文件(可以控制Excel中单元格的格式),需要注意的是,用xlrd读取excel是不能对其进行操作的,详细的介绍,基本上都在代码中写明

直接放代码:

#coding=utf8
# 导入xlrd模块
import xlrd
from xlutils.copy import copy
#设置文件名和路径
fname = 'd:/TestData.xlsx'
# 打开文件
filename = xlrd.open_workbook(fname)
#获取当前文档的表(得到的是sheet的个数,一个整数)
sheets=filename.nsheets #获取sheet对象,方法有3种:
# 第一种:#通过sheet名字来获取,当然如果你知道sheet名字了可以直接指定
# 得到的是一个列表集合[u'etsy_sheet']
sheet_list = filename.sheet_names()
#获取指定的sheet名的表,sheet结果:(<xlrd.sheet.Sheet object at 0x027FC890>)
# 找不到报错:xlrd.biffh.XLRDError: No sheet named <'etsy_sheet1'>
# sheet=filename.sheet_by_name(sheet_list[0]) #第二种
# sheet=filename.sheet_by_index(0) #通过sheet索引获得sheet对象
# 第三种:
sheet = filename.sheets()[0] #通过sheet索引获得sheet对象
# print sheet
#获取行数
nrows = sheet.nrows
# 获取列数
ncols = sheet.ncols
#获取第一行,第一列数据数据
cell_value = sheet.cell_value(1,1)
'''
###除了cell值内容外还有附加属性,如:
'likai:输出text:"likai" 或者
2018-1-25 13:44:49输出xldate:43125.57278935185 '''
###除了cell值内容外还有附加属性,如:text:"likai"后者2018-1-25 13:44:49输出xldate:43125.57278935185
cell_value1 = sheet.cell(3,0)
print cell_value1 #获取第一行数据
row_data = sheet.row_values(1)
#获取第一列,第四行一下的数据
col_data = sheet.col_values(0,4)
#获取各行数据
row_list=[]
for i in range(0,nrows):
row_datas = sheet.row_values(i)
row_list.append(row_datas)
# print row_list

对于读取和生成Excel文件都非常容易处理,但是对于已经存在的Excel文件进行修改就比较麻烦了,当然可以一行一行的将数据读取出来,然后在保存,除此之外,还有一个直接copy,将所有的数据copy到另外一个表中,使用一个xlutils(依赖于xlrd和xlwt)提供复制excel文件内容和修改文件的功能。其实际也只是在xlrd.Book和xlwt.Workbook之间建立了一个管道而已

#文件copy
wb = copy(filename)#<xlwt.Workbook.Workbook object at 0x025EE1F0>
new_sheet = wb.get_sheet(0)#<xlwt.Worksheet.Worksheet object at 0x027F3EB0>#此时new_sheet和原表内容一样,可以再扩充
new_sheet.write(3,3,"new wenjian")
wb.save("d:/TestData1.xlsx")

最新文章

  1. 浅谈数据库优化方案--表和SQL
  2. jQuery 一句代码返回顶部
  3. Android 学习资料收集
  4. SQL中关于日期的常用方法
  5. 【C#进阶系列】02 PE文件,程序集,托管模块,元数据——还是那个Hello world
  6. SELECT INTO和INSERT INTO SELECT
  7. 原创: EasyUI Tree 最后一级 节点 横向排列
  8. Solr相关概念详解:SolrRequestHandler
  9. Cocos2d-x中的字符串
  10. hibernate--持久对象的生命周期介绍
  11. 一步步学习ASP.NET MVC3 (11)——@Ajax,JavaScriptResult(2)
  12. XML1_XML基础
  13. 嵌入式Linux的一点学习心得
  14. WordPress插件制作笔记(二)---Second Plugins Demo
  15. IBM Websphere 集群会话共享问题解决办法
  16. yum软件管理器,及yum源配置
  17. Linux下的Jmeter运行测试
  18. php 版本号 整数化 mysql存储入库 比较大小【版本处理类,提供版本与数字互相转换】
  19. CSS布局(三) 布局模型
  20. arcgis10.5.1 对齐要素

热门文章

  1. java学习第十四天
  2. struts2分页实现
  3. 用IDEA创建一个SpringBoot项目
  4. dedecms无法下载远程jpeg图片 织梦不能提取文章内容中的jpeg图片生成缩略图
  5. Design Pattern -&gt;Factory Method
  6. Azure 5 月新公布(二)
  7. js&amp;jquery:添加事件的三种方法和常用的一些事件
  8. JavaScript基础:字符串转换函数——String()和toString()
  9. Linux远程桌面(三)
  10. sublime打开txt文件乱码的问题