Python--操作excel

import xlwt

# book = xlwt.Workbook() # 新建一个excel
# sheet = book.add_sheet('sheet1') # 添加一个sheet页
# sheet.write(0, 0, '姓名')
# sheet.write(0, 1, '性别')
# sheet.write(0, 2, '年龄')
# book.save('stu.xls') # 微软的office不能用xlsx结尾的,wps随意
title = ['姓名', '年龄', '性别', '分数']
stus = [['mary', 20, '女', 90], ['mary', 20, '女', 89.9], ['mary', 20, '女', 89.9], ['mary', 20, '女', 89.9]]

book = xlwt.Workbook() # 新建一个excel
sheet = book.add_sheet('sheet1') # 添加一个sheet页
cols = 0
for t in title:
sheet.write(0, cols, t)
cols += 1
row = 1 # 控制行
for stu in stus:
new_cols = 0
for s in stu: # 写每一列
sheet.write(row, new_cols, s)
new_cols += 1
row += 1
book.save('stu1.xls')


import xlrd

book = xlrd.open_workbook('stu1.xls') # 打开一个excel
sheet = book.sheet_by_index(0) # 根据顺序获取sheet页
# sheet1 = book.sheet_by_name('sheet1') # 根据sheet页名字获取
# print(sheet.cell(0, 0).value) # 指定行和列获取数据
# print(sheet.cell(0, 1).value)
# print(sheet.cell(0, 2).value)

print(sheet.ncols) # 获取excel里面有多少列
print(sheet.nrows) # 获取excel里面有多少行

for i in range(sheet.nrows):
print(sheet.row_values(i)) # 取第几行的数据

print(sheet.col_values(0)) # 取第几列的数据


from xlutils.copy import copy
import xlrd


book1 = xlrd.open_workbook('stu1.xls')
book2 = copy(book1) # 拷贝一份原来的
sheet = book2.get_sheet(0) # 获取第几个sheet页
sheet.write(1, 3, 0)
book2.save('stu1.xls')
posted @ 2018-02-02 22:23  王思磊  阅读(107)  评论(0编辑  收藏  举报