python获取Excel数据
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数据的更多相关文章
- python 获取excel数据 自动登陆
import xlrdimport timeimport unittestfrom selenium import webdriver class u8819(unittest.TestCase): ...
- python 读取excel数据并将测试结果填入Excel
python 读取excel数据并将测试结果填入Excel 读取一个Excel中的一条数据用例,请求接口,然后返回结果并反填到excel中.过程中会生成请求回来的文本,当然还会生成一个xml文件.具体 ...
- 使用python将excel数据导入数据库
使用python将excel数据导入数据库 因为需要对数据处理,将excel数据导入到数据库,记录一下过程. 使用到的库:xlrd 和 pymysql (如果需要写到excel可以使用xlwt) 直接 ...
- 怎么利用Aspose.Cells 获取excel 数据表中sheet的名称
说明:开发环境 vs2012 asp.net mvc4 c# 利用Aspose.Cells 获取Excel数据表的sheet的名称,并把获取的名称赋值给easyUI 的combobox 1.运行效果 ...
- python读取excel数据并以第一行标题加内容组成字典格式返回
excel结构如图所示: 代码: import xlrd ''' 通用获取excel数据 @:param path excel文件路径 @:param sheet_name excel文件里面shee ...
- 利用python将excel数据解析成json格式
利用python将excel数据解析成json格式 转成json方便项目中用post请求推送数据自定义数据,也方便测试: import xlrdimport jsonimport requests d ...
- Python用pandas获取Excel数据
import pandas as pd df1 = pd.DataFrame(pd.read_excel(r'C:\python测试文件\我的三国啊.xlsx',sheet_name='Sheet1' ...
- Python读取Excel数据
今天一同学给我发来一个Excel文件,让我帮他找一些信息,打开一开 8000多条数据.自己手工处理是不可能完成的的啦.作为一名程序员,当然要用程序来处理.处理生活中的问题当然是Python最为方便啦. ...
- Python读取Excel数据并根据列名取值
一直想将自己接触到的东西梳理一遍,可就是迈不出第一步,希望从这篇总结开始不要再做行动的矮人了. 最近测试过程中需要用到python读取excel用例数据,于是去了解和学习了下xlrd库,这里只记录使用 ...
随机推荐
- [转]png图片压缩大小但是不改变透明部分
降低PNG图片存储大小方法,图片压缩方法,如何降低PNG图片存储大小?前提是分辨率和尺寸大小不变,图形的透明部分不变.请看如下办法,亲测可用. 1. 将PNG图片用PS打开. 2. 图像-模式-8位/ ...
- EF的注解Annotation和Fluent API
注意:Annotation特性标记可组合使用,也就是在一个类或属性上可以附加多个annotations特性 一.常用注解和对应的Fluent API 1.[Required] ...
- 存储过程 返回值 procedure return values
存储过程有三种返回: 1. 用return返回int型数据 2. 用返回参数返回结果,可以返回各种数据类型(通过游标来循环查询结果每一行) 3. 直接在存储过程中用select返回结果集,可以是任意的 ...
- java并发编程 volatile关键字 精准理解
1.volatile的作用 一个线程共享变量(类的成员变量.类的静态成员变量等)被volatile修饰之后,就具有以下作用: 1)并发中的变量可见性(不同线程对该变量进行操作时的可见性),即一个线程修 ...
- <jsp:javabean>动作标签实例
<jsp:javabean>动作标签实例 之后补齐基础知识 scope属性 该属性指定了所创建Bean实例的存取范围,省略该属性时的值为page.<jsp:useBean>标识 ...
- 如何在Chrome粘贴图片直接上传
背景 截图或页面复制图片,可以直接通过Ctrl+v 粘贴上传图片 原理 操作:复制(截图)=>粘贴=>上传 监听粘贴事件=>获取剪贴板里的内容=>发请求上传 浏览器:Chrom ...
- html实现钝角效果;html实现限制一行字数的显示,超出的部分用省略号(....)来代替
前端实现div框边角的钝化虽然简单,但是有时候突然想不到,特此写下几句实现方法,以便记忆. 实现div框四个角都钝角的操作:设置 div : border-radius=10px; 实现div框一个角 ...
- Android setUserVisibleHint-- fragment真正的onResume和onPause方法
这个情况仅适合与多个fragment之间切换时统计,而非activity和fragment同时交互,因当时项目为首页4个fargment时长统计,因此适合,经下面网友评论指出,特在这里写出此问题,因最 ...
- django choice字段模板展示
class UserInfo(AbstractUserInfo): """ 用户表 """ gender_choice = ( (1,&qu ...
- memcached 的配置及 spymemcached 客户端简单使用
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.同时也可以用作不同系统之间的数据共享.应用比较广泛.下面介绍一下环境的memcached环境的搭建及简单实 ...