python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库
安装:pip install xlrd
导入:import xlrd
具体使用方法如下:
以下例子皆用这个表格打开excel文件:xlrd.open_workbook(filename)
如果路径或者文件名中有中文的话,加上r即可:xlrd.open_workbook(r"filename")
输出结果:<xlrd.book.Book object at 0x0000000002ECB908>获取所有sheet名:sheet_names( )。将所有的sheet名存放到数组中输出
输 出结果:[u'adTipConfig', u'ad_test', u'Test']根据sheet索引或者名称获取每张sheet表里的数据内容:sheet_by_index( 索引值 )、sheet_by_name("sheetname")。
excel里的索引值都从0开始
输出结果:<xlrd.sheet.Sheet object at 0x0000000002D8BE48> 输出结果:<xlrd.sheet.Sheet object at 0x0000000002D8BE48>这俩输出结果是一致的
获取指定sheet页的名称、行数、列数
获取第三个sheet页的名字、行数以及列数,输出结果:Test 3 2获取整行的值:row_values( 索引值 ) 获取整列的值:col_values( 索引值 ) ——> 都以数组形式返回数据
获取第一行第二列的值,输出结果:[u'username', u'userid'] [u'userid', 1.0, 2.0]此处注意,我们输出结果里面数字是保留了一位小数的,那如果我们想直接输出整数如何处理呢?百度了好久都需要自己写个函数转一下,能更改excel里的数据格式直接读出来就是int型吗?而且我发现,如果直接读取那个数据其实是int型,但是写入数组里就变成浮点型了,谁能告知一下
获取单元格对象:cell( 行的索引值,列的索引值 )
获取第一行第二列的对象,输出结果:text:u'userid'获取单元格值的数据类型:cell( 行的索引值,列的索引值 ).ctype
ctype返回值对应的数据类型是: 0 - empty, 1 - string, 2 - number, 3 - date, 4 - boolean, 5 - error
获取第一行第二列值的数据类型,输出结果:1 如果是时间类型,可以如此处理转成时间格式获取某个单元格的值:cell_value( 行的索引值,列的索引值 )/cell( 行的索引值,列的索引值 ).value/row( 行的索引值 )[ 列的索引值 ].value
获取第一行第二列的值,输出结果:userid userid userid
网友评论