python 操作excel

导出:

# -*- coding:utf-8 -*-
# author rdj

import xlwt
header = ['序号','姓名','年龄']

data = [
    {'id':1,'name':'mike','age':18},
    {'id':2,'name':'jack','age':18},
    {'id':3,'name':'lina','age':16},
    {'id':4,'name':'lnda','age':20},
]


book = xlwt.Workbook("utf-8",style_compression=0) #创建一个Workbook对象,这就相当于创建了一个Excel文件
#其中的test是这张表的名字,cell_overwrite_ok,表示是否可以覆盖单元格,其实是Worksheet实例化的一个参数,默认值是False
sheet = book.add_sheet("test",cell_overwrite_ok=True)

#设置表头
i = 0
for k in header:
    sheet.write(0,i,k)
    i = i + 1

row = 1
for val in data:
    print(val)
    sheet.write(row,0,val["id"])
    sheet.write(row, 1, val["name"])
    sheet.write(row, 2, val["age"])
    row = row + 1

book.save("C:\\Users\\EDZ\\Desktop\\exceltest\\test1.xls")

 

导入(读取):

# -*- coding:utf-8 -*-
# author rdj

import xlrd # 引入xlrd模块

file = xlrd.open_workbook('C:\\Users\\EDZ\\Desktop\\exceltest\\test1.xls') # 打开excel文件对象

table = file.sheets()[0]  # 通过索引顺序获取
# table = file.sheet_by_index(0)  # 通过索引顺序获取
# table = file.sheet_by_name('test') # 通过表名获取对应表的数据

rows = table.nrows # 总的行数
columns = table.ncols # 总的列数

data = [] # 初始化列表
for r in range(1,rows): # 去除表头所有从第一行开始
    rowData = table.row_values(r) # 获取每一列的数据
    data.append(rowData) # 追加数据到列表中

print(data)

 

posted @ 2020-03-09 16:51  shijiu520  阅读(169)  评论(0)    收藏  举报