版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/myt2000/article/details/78643096
Python xlrd(excel操作)
1.文件打开和获取
import xlrd #导入模块
data = xlrd.open_workbook('excelFiles.xls') #打开一个excel
table = data.sheets()[0] #通过索引顺序获取
table = data.sheet_by_index(0) #通过索引顺序获取
table = data.sheet_by_name(u'Sheet1') #通过名称获取
2.获取整行和整列的值(数组)
table.row_value(i)
table.col_value(i)
获取行数和列数
nrows = table.nrows
ncols = table.ncols
循环行列表行数
nrows = table.nrows
ncols = table.ncols
循环行列表数据
for i in range(nrows):
print table.row_value(i)
单元格
cell_A1 = table.cell(0,0).value
cell_C4 = table.cell(2,3).value
3.示例一
读取excel中的内容
import xdrlib
import xlrd
workbook = xlrd.open_workbook(u'交易所证券余额核对20170725.xls') #打开同级目录下的excel
sheet_names = workbook.sheet_names() #获取列名
for sheet_name in sheet_names:
sheet2 = workbook.sheet_by_name(sheet_name) #打印sheet页名称
print(sheet_name)
rows = sheet2.row_values(3) #打印第四行,从0行开始计数
cols = sheet2.col_values(1) #打印第二列,从0列开始计数
print(rows)
print(cols)
执行效果
============ RESTART: D:\python_test\20170801_python_test\test.py ============
交易所证券余额核对20170725
['26369', 'B883579073', '112493', '16华能资', 100000.0, '', 100000.0, '200(年金产品)', '上交所A']
['股东', 'B882699434', 'B280822031', 'B388579073', 'B883336226', '']
### 示例二
import xlrd
from xlutils.copy import copy
workbook = xlrd.open_workbook(u'交易所证券余额核对20170725.xls') #打开excel表
workbooknew = copy(workbook) #复制整个excel内容
ws = workbooknew.get_sheet(0) #获取第一张表单
ws.write(3,0,'changed!') #第一行,第四列,改写为changed!
workbooknew.save(u'交易所证券余额核对20170725_copy.xls') #保存第一张表单
这个示例实现功能主要是复制交易所证券余额核对20170725.xls到交易所证券余额核对20170725_copy.xls,并将复制的表中的第一行,第四列修改为changed