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")

python获取Excel数据的更多相关文章

  1. python 获取excel数据 自动登陆

    import xlrdimport timeimport unittestfrom selenium import webdriver class u8819(unittest.TestCase): ...

  2. python 读取excel数据并将测试结果填入Excel

    python 读取excel数据并将测试结果填入Excel 读取一个Excel中的一条数据用例,请求接口,然后返回结果并反填到excel中.过程中会生成请求回来的文本,当然还会生成一个xml文件.具体 ...

  3. 使用python将excel数据导入数据库

    使用python将excel数据导入数据库 因为需要对数据处理,将excel数据导入到数据库,记录一下过程. 使用到的库:xlrd 和 pymysql (如果需要写到excel可以使用xlwt) 直接 ...

  4. 怎么利用Aspose.Cells 获取excel 数据表中sheet的名称

    说明:开发环境 vs2012 asp.net mvc4 c# 利用Aspose.Cells 获取Excel数据表的sheet的名称,并把获取的名称赋值给easyUI 的combobox 1.运行效果 ...

  5. python读取excel数据并以第一行标题加内容组成字典格式返回

    excel结构如图所示: 代码: import xlrd ''' 通用获取excel数据 @:param path excel文件路径 @:param sheet_name excel文件里面shee ...

  6. 利用python将excel数据解析成json格式

    利用python将excel数据解析成json格式 转成json方便项目中用post请求推送数据自定义数据,也方便测试: import xlrdimport jsonimport requests d ...

  7. Python用pandas获取Excel数据

    import pandas as pd df1 = pd.DataFrame(pd.read_excel(r'C:\python测试文件\我的三国啊.xlsx',sheet_name='Sheet1' ...

  8. Python读取Excel数据

    今天一同学给我发来一个Excel文件,让我帮他找一些信息,打开一开 8000多条数据.自己手工处理是不可能完成的的啦.作为一名程序员,当然要用程序来处理.处理生活中的问题当然是Python最为方便啦. ...

  9. Python读取Excel数据并根据列名取值

    一直想将自己接触到的东西梳理一遍,可就是迈不出第一步,希望从这篇总结开始不要再做行动的矮人了. 最近测试过程中需要用到python读取excel用例数据,于是去了解和学习了下xlrd库,这里只记录使用 ...

随机推荐

  1. C知识要点-个人总结

    [数据结构]()C 结构体.C 共用体.C 数组.C 指针..... 存储类.auto.register.static.extern C 函数.定义函数.返回类型.函数名称.参数.函数主体.返回语句. ...

  2. iOS-swift-类和对象

    1.类(class) 使用关键字 class 创建一个类.属性直接在类里面声明,属性可以是变量,也可以是常量.方法和函数的创建方法一致. class Shape { var numberOfSides ...

  3. 第一次尝试用Open Live Writer写日志

    注册博客园很久了,一直没怎么用,今天登陆了一下,看到这个写日志工具,看着不错,试一下

  4. 谈谈Quartz中遇到的深坑

    最近在项目开发的时候,根据业务需求,需要配置为自定义Quartz任务(即:用户可以自定义任务执行时间) 但是在即将写完的时候遇到一个非常头疼的问题: 一个redisTemplate 与 workOrd ...

  5. 如何使用JWT来实现单点登录功能

    我们平时自己开发项目,分布式的结构时,访问量不大,但是又不想搭建redis服务器,这时我觉得jwt不错. 个人理解,jwt就是类似于一把锁和钥匙,客户来租房(登录),我们需要给他进来(第一次登录)登记 ...

  6. struts2分页实现

    1.定义一个page类,里面包括每一个的数量,当前页码,总记录数,等 2.将page对象传入dao中,dao输出分页查询好的数据.返回到action中,action放到request中,jsp从req ...

  7. 各种推导式<"一行能解决的事,为什么要用那么多行">

    一.推导式 1.列表:[结果 for循环 条件筛选] 2.字典:{k:v for循环 条件筛选} 3.集合推导式{k for循环 条件筛选} ???为什么没有元组推导式 二.生成器表达式(元组表达式) ...

  8. Python is 和 == 的区别, 编码和解码

    一.is 和 == 的区别 is : 进行比较,比较的是内存地址是否一致 ==:进行比较,比较的是值是否相等 1.小数据池: 数字小数据池范围 -5~256 字符串中如果有特殊字符则他们的内存地址不一 ...

  9. Java方法命名之“由简入繁”原则

    1.访问控制层(Controller 层)中的方法命名方向是简洁明了,向着自然化语言方向靠拢,比如“更新用户”,建议命名为“updateUser”,而非“updateUserById”,实际上我们更新 ...

  10. Linux改变文件属性与权限

    chgrp:改变文件所属用户组 chown:改变文件所有组 chmod:改变文件的权限 一.chgrp(change group的简称) 修改文件所属组:eg:chgrp users install. ...