python excel导入导出

excel导出

利用xlwt模块实现excel导出功能
这里想封装起一个公共的方法,但是发现字典转列表的顺序是无序的,输出列的数据和定义的不一致,这个问题待解决

#!/usr/bin/python
# -*- coding: UTF-8 -*-

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

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

# 数据写入excel
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

# 最后,将以上操作保存到指定的Excel文件中
book.save(r'e:\python\basic\test1.xls')  # 在字符串前加r,声明为raw字符串,这样就不会处理其中的转义了。否则,可能会报错

excel读取

利用xlrd模块实现excel读取功能

#!/usr/bin/python
# -*- coding: UTF-8 -*-

import xlrd # 引入xlrd模块

file = xlrd.open_workbook('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)

推荐阅读更多精彩内容

  • 文 by / 林本托 Tips做一个终身学习的人。 在此章节中,主要学习以下内容: 如何声明模块依赖 模块的隐式可...
    码匠安徒生阅读 1,437评论 1 8
  • 文 by / 林本托 Tips做一个终身学习的人。 在此章节中,主要介绍以下内容: 在JDK 9之前Java源代码...
    码匠安徒生阅读 2,419评论 10 26
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 137,946评论 20 590
  • 你有咖啡时间吗? 生命的长河里有咖啡时间, 让我们少许多孤独和浮躁, 一天的繁忙中有咖啡时间, 使我有休憩的品味和...
    茶舍花开阅读 51评论 5 2
  • 2017年3月26日(连续第40天总结) 今日目标完成情况: 1:一周回顾 100% 2:抄写八大+目标细分法+单...
    我来学而时习之阅读 24评论 1 0